使用Google地图进行区域偏差

时间:2010-10-31 00:25:49

标签: google-maps google-maps-api-3 geocoding

我的用户可能位于世界任何地方,他们会看到一个文本框,他们可以输入他们的地址。在大多数情况下,我认为他们将与他们输入的任何地址在同一个国家/地区。

我想通过region biasing帮助Google Map API做出更好的猜测。有没有办法告诉谷歌地区偏离请求的来源?或者,当我拨打网络服务电话时如何向Google提供该信息(例如将IP地址转换为国家/地区信息)?

感谢。

2 个答案:

答案 0 :(得分:6)

我最后一次检查时,客户端和服务器端Google Geocoder的“区域偏差”并不可靠。查看去年四月的这篇文章(现在再次测试,问题仍然存在):

我发现最可靠的方法是在地址末尾附加国家/地区。因此,如果用户位于英国,并键入“Oxford Street London”,则您将“,UK”附加到地址进行地址编码。

为了获得用户所在的国家/地区,有很多解决方案。您可以使用Geolocation API as @You suggested in the other answer,或者您可能希望使用第三方IP到位服务。您可能需要查看免费的MaxMind GeoLite City服务,据报道,该服务在国家/地区级别的准确率为99.5%。

答案 1 :(得分:0)

在现代浏览器中,您可以使用Dive Into HTML5中所述的HTML5地理位置API。这假设客户端支持,并且您正在向客户端发出请求。对于服务器端(或后备)解决方案,您可以尝试类似PHP Geo IP functions

的内容