最近项目中需要使用到一个小功能,自动定位城市,在完成此功能时走了一些弯路,特此记录,以便日后查阅:
使用百度
- 主要问题,在于百度AK申请时出现的问题,由于自己是做安卓开发,最开始一直申请的为android sdk下的ak,而使用时是使用http get请求进行提交,会出现APP AK失效的问题, 几经折腾最终申请为浏览器AK后,问题顺利解决
功能大致实现过程为,使用Location定位功能获取经纬度, 再使用百度逆地址编码对经纬度转换为实际位置, 我使用的输出格式为json(百度逆地址输出格式支付json,xml两种), 然后对其进行解析,提取城市即可.
具体使用:百度Geocoding API
需要添加的权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LO