【问题标题】:Is there a way to determine a visitors country from the client?有没有办法从客户那里确定访问者国家?
【发布时间】:2012-12-04 23:39:39
【问题描述】:

我正在使用谷歌地图和地理编码 API 在用户输入邮政编码后检索经纬度/经度,但我想将邮政编码限制在该用户所在的国家/地区,所以我最终不会得到多个结果。

有没有办法从客户端可靠地确定访问者的原籍国,可能使用 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) {  
       ...
   }
});

有什么想法吗?

【问题讨论】:

  • 可能是这样的FIDDLE
  • @adeneo 太完美了!我会检查API。谢谢!

标签: javascript jquery google-maps geocoding


【解决方案1】:

为了不依赖第三方,您可以使用Google's Loader 获取客户端的位置。 Here's a great example 正在使用中,正在加载 Google Maps API 和 ClientLocation。

【讨论】:

    【解决方案2】:

    您可以使用访问者 IP 地址在 GeoIP 表中查找他的来源。 周围有各种桌子,例如from MaxMind.

    请注意,如果用户位于代理服务器后面或您无法获取 IP,这可能会失败。除此之外,它应该是一种非常可靠的方法,当然取决于您的 GeoIP 表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2016-06-27
      • 2018-03-30
      • 1970-01-01
      • 2011-07-30
      相关资源
      最近更新 更多