如何使用他们的 GPS 服务获取用户的国家名称?

Posted

技术标签:

【中文标题】如何使用他们的 GPS 服务获取用户的国家名称?【英文标题】:How do I get a User's Country Name using their GPS Services? 【发布时间】:2018-07-18 01:51:55 【问题描述】:

我正在尝试使用手机的定位服务来获取其当前所在的国家/地区。 我在互联网上搜索过很多案例,教过如何获得 Long。和纬度。电话,但不是国家/地区。

需要明确的是,我并没有尝试使用以下方式获取电话所在的国家/地区:

String locale = this.getResources().getConfiguration().locale.getDisplayCountry();
我不是在寻找确切的地址(城市、街道等),而是在国家/地区。 我不需要 SIM 卡所在的国家/地区(例如:法国用户前往西班牙将返回法国而不是西班牙)

我使用过 LocationManager,但不知道如何从中获取位置信息。

【问题讨论】:

【参考方案1】:

使用返回的GeocodergetFromLocation 和包含国家/地区的Address

【讨论】:

【参考方案2】:

您可以使用 Google 的地理编码器 api 获取完整地址,然后简单地从中提取国家名称。超级简单! https://developer.android.com/reference/android/location/Geocoder.html 。 这对于你想要的可能有点过头了,但它确实可以完成这项工作

【讨论】:

可以说我没有 Lang 和 Lat,但我确实有权使用手机的定位服务。有没有办法根据该许可“提取”国家?或者我必须为此买朗经纬度吗? 无论如何,获取设备的纬度确实很容易,因此您应该获取纬度,然后使用地理编码器 API。要获得纬度/经度:使用 LocationManager,然后只需使用位置管理器的 .getLastKnownLocation() 方法。这是一个轻松使用 LocationManager 的好资源:***.com/questions/20210565/…

以上是关于如何使用他们的 GPS 服务获取用户的国家名称?的主要内容,如果未能解决你的问题,请参考以下文章

通过 GPS/IP 获取 iPhone 的位置

如何在 Android 中使用 gps 获取当前位置(街道、城市等)

Unity C#如何获取玩家的国家、城市或位置

如何使用地理位置而不是完整的国家和地区名称获取国家和地区代码

从 iPhone 获取时区/国家

如何在 C# 中获取用户的国家/地区名称?