如何从谷歌地图网址获取JSON


How to get JSON from googlemaps url

正如你在这里看到的,我需要那些标记值,如纬度液化天然气地址。

从那个链接,我试图去那些链接。但仍然无法检查任何东西。

我在 Js 中尝试过这个,但它没有返回任何内容

var url = "https://www.google.com/maps/d/u/0/viewer?ll=41.042268%2C29.001695&spn=0.06531%2C0.072004&hl=en&t=m&vpsrc=6&msa=0&source=embed&ie=UTF8&mid=zsrW6PXLEpZk.kTAwhQ8bgERs" + "&sensor=false";
$.getJSON(url, function (data) {
    for(var i=0;i<data.results.length;i++) {
        var adress = data.results[i].formatted_address;
        alert(adress);
    }
});

http://jsfiddle.net/CursedChico/NNuDe/341/

我怎样才能得到?我习惯了Js,angularjs,java和android。

您无法从您提供的 URL 获取标记数据,它使用 kml 格式来获取值。无论如何,你想得到位置,地址等。基本上,您需要所有标记的信息。这是解决方案:

1)获取地图的KML文件。

什么是 KML 数据?

KML 是一种用于在地球中显示地理数据的文件格式 浏览器,如谷歌地球

在您的链接中,您可以通过单击左侧菜单下载它 ->下载 kml->导出到 kml,您就有了 kml 文件。然后使用这样的解析器将 kml 数据解析为 json。

2)检查公司是否允许您使用JSONP

如果您要查找的页面设置了 JSONP,则可以通过将 JSONP 链接作为脚本注入 HTML 并获取比使用回调函数轻松检索数据。这是一个工作项目,它通过调用 JSONP 来获取纬度和长数据。

function setJSONP(code) {
    var script = document.createElement('script');
    script.src = "http://www.nike.com/store-locator/locations?jsoncallback=callback" +
                 "&country_code=US" +
                 "&format=JSON" +
                 "&type=country" +
                 "&_=1461335132869";
    document.getElementsByTagName('head')[0].appendChild(script);
  }

?jsoncallback=yourFunctionName

然后使用你的函数,在这个例子中 callback() 是我们的函数。

function callback(data) {
   //use data here which is returned JSON from server
   var lat = data.lat;
   ...
}