Google地理编码API为我的服务器和网络浏览器提供不同的结果

时间:2012-04-24 16:45:37

标签: php geocoding google-geocoding-api

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

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

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

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

(BTW我的服务器使用PHP5 simplexml_load_file()来检索结果)

**我不明白为什么这个问题被标记为另一个问题的副本。问题这是一个假设的副本并没有回答我的问题,我的问题与企业(只有邮政地区)无关,也没有解释为什么我的服务器与我的电脑处理方式不同。

1 个答案:

答案 0 :(得分:6)

您遇到了一种名为“区域偏差”的内容:https://developers.google.com/maps/documentation/geocoding/#RegionCodes

传递region=uk GET参数,您的结果应该是相同的(即适合英国)。