【问题标题】:How to Obtain Lat/Lng of Google Maps Query String?如何获取谷歌地图查询字符串的纬度/经度?
【发布时间】:2011-10-19 21:17:56
【问题描述】:

我有这个链接:

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

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

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

【问题讨论】:

  • 您使用的是哪个 google api 版本 v2/v3?你需要javascript还是其他语言
  • 无耻的自我推销,但可能值得看看我的项目似乎就是这样做的:davgothic.com/geocoder。你可以在github找到源代码。
  • V3,我在 PHP 中需要它

标签: api google-maps screen-scraping coordinates


【解决方案1】:

您可以从此链接的响应中获取 Lat Lng 信息。此链接的响应将是 google 地图的 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信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多