0

我在提取谷歌地球坐标时遇到问题,因为我需要它在 latlng 而不是 GPoint 中,并且需要暴露给我的谷歌地图应用程序,我知道我可以使用这些点在 gmap 中显示我的数据,但仍然需要转换为 latlng,我的 nodejs 脚本

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 中。

4

1 回答 1

3

颠倒point[0](经度)、point[1](纬度)的顺序。

改变:

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

至:

    geolocation   : [point[1], point[0]]
于 2012-10-20T20:05:19.910 回答