1

node.js 経由で Java スクリプトを使用して Google Earth の KML を生成する方法はありますか? 今、私はそのためにPHPでApacheを持っています。すべてを 1 つのサーバーにまとめられると便利です。

axamples か何かがあれば、私は js の初心者です...私はそれを感謝します。

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 に答える