我正在使用谷歌地图和地理编码API在输入邮政编码后检索用户lat / lng但是我想将邮政编码限制在该用户所在的国家/地区,所以我最终不会多个结果。
有没有办法从客户端可靠地确定访客来源国,可能使用jquery或以某种方式解码用户代理?
我的电话会结束这样的事情:
var country = ???
var postcode = document.getElementById('postcode').value + ', ' + country;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': postcode }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
...
}
});
有什么想法吗?
答案 0 :(得分:1)
您可以使用访问者IP地址在GeoIP表中查找其来源。 周围有各种各样的桌子,例如from MaxMind
请注意,如果用户位于代理服务器后面或您无法获取IP,则可能会失败。除此之外,它应该是一种非常可靠的方法,当然取决于您的GeoIP表。
答案 1 :(得分:1)
为了不依赖第三方,您可以使用Google's Loader获取客户的位置。正在使用Here's a great example,正在加载Google Maps API和ClientLocation。