如何获取谷歌地图查询字符串的Lat / Lng?

时间:2011-08-04 10:55:11

标签: api google-maps screen-scraping coordinates

我有这个链接:

http://www.google.com/maps?cid=0,0,612446611849848549&f=q&source=embed&hl=en&geocode=&q=Универзална+Сала+&sll=,&&ie=UTF8&hq=&hnear=Универзална+Сала+&ll=,&z=15&iwloc=near

我想要的是检索精确定位的Lat Lng。我已经尝试使用地理编码API:

http://maps.googleapis.com/maps/api/geocode/xml?q=Универзална+Сала+&sensor=false

但我没有得到任何结果,因为精确指的是一个地方而不是一个地址。

如何根据链接获取精确定位的Lat Lng? (我需要通过代码,因为我正在抓一个网站)

1 个答案:

答案 0 :(得分:0)

您可以从此链接的响应中获取Lat Lng信息。此链接的响应将是谷歌地图的html文件。位置信息写在html里面的javascript代码中。您可以在javascript代码中找到“viewport:{center:{lat:xxx,lng:xxx}}”模式。例如,我发现链接的lat和lng是41.999227和21.416496,这是地图的中心以及精确定位的地方。或者,如果您有多个结果,则可以找到标记位置:

地图中心信息代码:

viewport: {
    center: {
       lat: 41.999227,
       lng: 21.416496
    },
    span: {
        lat: 0.006295,
        lng: 0.006295
    },
    zoom: 15,
    mapType: 'm',
    source: 0
},
...

标记的代码:

markers: [{
    id: 'A',
    cid: '612446611849848549',
    latlng: {
        lat: 41.999227,
        lng: 21.416496
    },
    ... 

在这种情况下,地图中心和标记具有相同的latlng信息。