GeoLocation - 获取国家的 ISO 代码

Posted

技术标签:

【中文标题】GeoLocation - 获取国家的 ISO 代码【英文标题】:GeoLocation - get ISO code of country 【发布时间】:2014-02-13 16:50:12 【问题描述】:

我在 w3c 规范 (http://dev.w3.org/geo/api/spec-source-v2) 中找到了对地址/国家/地区的引用,但没有实际示例或有关如何获取当前用户所在国家/地区的 iso 代码的参考?

使用类似:http://tawd.co.uk/test-geo3.html 我可以获取网站访问者的经纬度,但我也需要一种快速获取国家/地区 iso 代码的方法,我该怎么做?

【问题讨论】:

【参考方案1】:

根据 W3C 规范,应该使用 requestAddress 位置选项来完成。

navigator.geolocation.getCurrentPosition(
   successFunction, 
   errorFunction, 
   "requestAddress": true
);

然后这将尝试找出给出纬度和经度的地址,并在成功回调中返回一个位置,其中包含一个包含国家和更多内容的地址附加属性。不幸的是,这只是一个 w3c 规范,似乎现在(现在发布这个)似乎,即使许多现代浏览器已经实现了PositionOptions,几乎所有浏览器都已经实现了requestAddress 功能。

临时解决您的问题的一种可能方法可能是通过使用反向地理编码谷歌地图 api 从坐标中获取地址来模拟 requestAddress 应该做什么:https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding。然后,一旦您获得谷歌地图地址,您就可以从那里获得国家/地区:https://developers.google.com/maps/documentation/geocoding/#Types .... 但是....我不知道这种方式对您来说是否不够“快捷方式”。

【讨论】:

以上是关于GeoLocation - 获取国家的 ISO 代码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用地理位置获取访问者的位置(即国家/地区)?

如何从 .NET 中的 CultureInfo 获取 ISO 3166 国家代码

在 Woocommerce 3 中获取地理位置的国家和地区

如何使用 Swift 在 iOS 上获取 ISO 639-2 国家代码

如何获得国家(或其ISO代码)?

用于跟踪用户位置的 Google Geolocation Api - 国家、城市、州、时区