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