分享

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

 开花结果 2023-12-28 发布于北京

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

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

作者:苍蝇的梦
链接:https://www.jianshu.com/p/f3721d1823b4
来源:简书

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多