0

由于我需要它在latlng而不是GPoint,并需要暴露给我的谷歌地图应用程序,我知道我可以使用这些点显示我的数据在GMAP,但仍需要转换为经纬度,我的NodeJS脚本其指向谷歌地球KML文件的latlng转换

var fs = require('fs'), 
    xml2js = require('xml2js'); 

var parser = new xml2js.Parser(); 
fs.readFile(__dirname + '/doc.xml', function(err, data) { 
    parser.parseString(data, function (err, result) { 
     var data = []; 
     for (var i in result.data.Placemark) { 
      var row = result.data.Placemark[i]; 
      var point = row.Point[0].coordinates.toString().split(','); 
      row = { 
       name   : row.name[0] 
       , description : row.description[0] 
       , geolocation : [point[0], point[1]] 
      }; 
      data.push(row); 
     } 

     console.log(data); 
    }); 
}); 

此时林能够提取所有我想要的(我只是删除所有不必要的标签从数据KML)。但我需要将它标准化为latlng,因为我的其他数据库文档(noSQL)全部都是latlng。

回答

3

颠倒点[0](经度),点[1](纬度)的顺序。

变化:

geolocation : [point[0], point[1]] 

要:

geolocation : [point[1], point[0]] 
+0

谷歌没有具体说明[KML](http://en.wikipedia.org/wiki/Keyhole_Markup_Language),它是由Keyhole的创建,Inc,于2004年被Google收购。 – geocodezip