有什么方法可以通过 node.js 使用 java 脚本为 Google Earth 生成 KML?现在我有 apache 和 PHP。将所有东西都放在一台服务器上会很好。
我对 js 很陌生,如果有任何 axamples 或其他东西......我将不胜感激。
有什么方法可以通过 node.js 使用 java 脚本为 Google Earth 生成 KML?现在我有 apache 和 PHP。将所有东西都放在一台服务器上会很好。
我对 js 很陌生,如果有任何 axamples 或其他东西......我将不胜感激。
是的你可以!这样做实际上很容易。Node.js 处理文件的方式与 PHP 不同,Node.JS 将为客户端提供文件。node.JS 有大量模板系统可供您使用。下面是一个使用一些基本技术的 KML 服务器示例。
//required to create the http server
var http = require('http');
//use EJS for our templates
var ejs = require('ejs');
//required so we can read our template file
var fs = require('fs')
//create a http server on port 8000
http.createServer(function (req, res) {
//tell the client the document is XML
res.writeHead(200, {'Content-Type': 'text/xml'});
//read our template file
fs.readFile('template.ejs', 'utf8', function (err, template) {
//render our template file with the included varables to change
var content = ejs.render(template,{
name:"test name",
description:"this is the description",
coordinates:"-122.0822035425683,37.42228990140251,0"
});
//write the rendered template to the client
res.write(content);
res.end()
}).listen(8000);
console.log('Server listening at at http://localhost:8000/');
我们的 template.ejs 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name><%=name%></name>
<description><%=description%></description>
<Point>
<coordinates><%=coordinates%></coordinates>
</Point>
</Placemark>
</kml>
实际上,您可能想使用connect或express之类的东西。听起来您对 Node.JS 很陌生,一定要花一些时间阅读一些介绍材料。
快乐编码!