如何使用他们的 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】:使用返回的Geocoder
getFromLocation 和包含国家/地区的Address
【讨论】:
【参考方案2】:您可以使用 Google 的地理编码器 api 获取完整地址,然后简单地从中提取国家名称。超级简单! https://developer.android.com/reference/android/location/Geocoder.html 。 这对于你想要的可能有点过头了,但它确实可以完成这项工作
【讨论】:
可以说我没有 Lang 和 Lat,但我确实有权使用手机的定位服务。有没有办法根据该许可“提取”国家?或者我必须为此买朗经纬度吗? 无论如何,获取设备的纬度确实很容易,因此您应该获取纬度,然后使用地理编码器 API。要获得纬度/经度:使用 LocationManager,然后只需使用位置管理器的 .getLastKnownLocation() 方法。这是一个轻松使用 LocationManager 的好资源:***.com/questions/20210565/…以上是关于如何使用他们的 GPS 服务获取用户的国家名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 中使用 gps 获取当前位置(街道、城市等)