Google我的地图 - 数据层为JSON

时间:2016-02-25 14:59:02

标签: json google-maps

有什么办法可以将Google我的地图中的数据层作为JSON访问?基本上我想要通过选择"打开数据表"获得相同的数据。当然还有坐标。

2 个答案:

答案 0 :(得分:2)

在我看来,MyMaps仅支持将数据导出为KML。我有一个tool将导入KML并将其导出为JSON(而不是GeoJSON),您应该可以编写一些代码进行翻译。

我使用this MyMap创建了this

还有一些工具(通过快速搜索找到):

答案 1 :(得分:1)

我用过togeojson。这是代码。

var fs = require("fs");
var request = require("request");
var tj = require('togeojson');
var jsdom = require('jsdom').jsdom;

var requestOptions = {
        headers: {'user-agent': 'node.js'}
        , followRedirect: true
        , followAllRedirects: true
};


function retrieveTrack(track, trackUrl) {
    console.log("Retrieving track " + track + " from " + trackUrl);
    request(trackUrl, requestOptions, function (error, response, body) {
        console.log("Response:" + response.statusCode);
        if (!error && response.statusCode == 200) {
            fs.writeFile(track + ".kml", body, function(err) {
                if(err) {
                    return console.log(err);
                }
                console.log("Track retrieved: " + track);
            });
            convertTrack(track);
        }
    });
}

function convertTrack(track) {
    fs.readFile(getKmlPath(track), function (error, data) {
        var json = tj.kml(jsdom(data));
        fs.writeFile(track + ".json", JSON.stringify(json, null, "\t"), function(err) {
            if(err) {
                return console.log(err);
            }
            console.log("Track converted: " + track);
        }); 
    });
}