Geocoder用不了只好使用地图服务的逆地理编码来获取经纬度的位置描述

2022-12-09 遇到的一点小问题

app使用的LocationManager获取用户的经纬度。最近需要判断用户是否在中国大陆地区。
网上找了下,刚好看到Geocoder geocoder = new Geocoder(this, Locale.getDefault());可以获取经纬度所在的国家、城市等信息。
试了下,使用方法getFromLocation(double latitude, double longitude, int maxResults)大概率会出现IO错误IOException
又找了下,看到百度地图的定位SDK国内外位置判断
试了下,又要SHA1又要包名,而且工单咨询客服,这个功能无法区分是在大陆地区还是港澳台地区。

国内外位置判断

因为APP使用已经有定位了,所以换成百度地图的Web服务API全球逆地理编码服务,把经纬度提交上去。
选的英文显示,试了几个值,排除掉不需要的,就能判断用户是否在大陆地区。

country:China
country_code_iso:CHN
country_code_iso2:CN
province:Hong Kong、Macau、Taiwan Province
reverse_geocoding

高德开放平台 - Web服务 API - 地理/逆地理编码
腾讯位置服务 - WebService API - 逆地址解析(坐标位置描述)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容