4

我正在使用 Google Geocoding API 来获取我网站上不同位置搜索的 lat/lng 坐标。问题在于,对于伦敦地区(它可能不仅限于伦敦,这正是我们大多数用户群所在的地方),例如“滑铁卢”,地理编码 api 正在将不同的结果返回到我的服务器,而不是当我直接输入 url 时我的浏览器。这是为滑铁卢生成的 url:

http://maps.googleapis.com/maps/api/geocode/xml?address=waterloo,%20london,%20england&bounds=48.8,-11.2|60.9,1.9&sensor=false®ion=uk

如果我将其粘贴到浏览器中,我会得到正确的滑铁卢区域(“滑铁卢,伦敦兰贝斯区,伦敦 SE1,英国”)。但是,当我的服务器从这个 url 检索结果时,它会得到地址“2C Waterloo Rd, London, Greater London NW2 7UA, UK”,它离滑铁卢几英里远。(它也只返回一个结果。)

我的服务器位于英国,在 IP 上进行 GeoIP 确认了这一点。为什么 Google 会向我的服务器返回不同的结果?

(顺便说一句,我的服务器正在使用 PHP5 simplexml_load_file() 来检索结果)

** 我不明白为什么这个问题被标记为另一个问题的重复。这是一个假定重复的问题,丝毫没有回答我的问题,我的问题与企业(仅邮政区域)无关,也没有解释为什么我的服务器与我的 PC 受到不同的对待。

4

1 回答 1

7

您遇到了一种叫做区域偏差的东西:https ://developers.google.com/maps/documentation/geocoding/#RegionCodes

传递一个region=ukGET 参数,您的结果在任何地方都应该是相同的(即针对英国量身定制的)。

于 2012-04-24T16:54:21.660 回答