Android Studio调用百度地图定位到大西洋几内亚湾 解决方法
在做百度地图定位时发现直接定位到大西洋海域去了,飞到了大西洋几内亚湾~
检查后发现是经纬度获取失败
后来发现是因为,安卓6以上需要动态申请权限
翻了一下官方的开放文档,并没有发现解决方法
Google在Android 6.0中引入了动态权限获取机制(Runtime Permission),使得Android的权限管理更加严格完善。
动态权限获取要求开发者在调用涉及相关权限的代码时,使用系统接口来动态得申请相应权限。定位SDK涉及权限即在此范畴中。
在未获取到定位权限情况下,定位SDK获取到的定位依据(基站、WI-FI)均为空值,因此无法有效定位,定位服务会返回错误码167。
试着添加了两条权限,问题解决~ 在官方文档里并没有这两条
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_GPS"/>
成功定位