1

有什么方法可以通过 node.js 使用 java 脚本为 Google Earth 生成 KML?现在我有 apache 和 PHP。将所有东西都放在一台服务器上会很好。

我对 js 很陌生,如果有任何 axamples 或其他东西......我将不胜感激。

4

1 回答 1

2

是的你可以!这样做实际上很容易。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>

实际上,您可能想使用connectexpress之类的东西。听起来您对 Node.JS 很陌生,一定要花一些时间阅读一些介绍材料

快乐编码!

于 2012-11-16T04:21:00.033 回答