这个问题是在使用百度地图定位功能的时候出现的出现这个问题的原因有两种
具体是什么原因可以根据App的情况来判断。
1 .如果你的定位功能并没有实现,也就是无法定位到当前的位置(一直显示北京地图),这说明你没有注册 Service
androidmanifest文件中application节点下添加
- <service
- android:name="com.baidu.location.f"
- android:enabled="true"
- android:permission="android.permission.BAIDU_LOCATION_SERVICE"
- android:process=":remote" >
- <intent-filter>
- <action android:name="com.baidu.location.service_v2.6" />
- </intent-filter>
- </service>
2.还有一种问题就是 你可以实现定位了,但是在销毁当前Activity的时候 logcat会打印出错误 XXXXX has leaked ServiceConnection com.baidu.location.LocationClient
这个时候就是说明你的 定位服务的生命周期出现了问题,
- @Override
- protected void onPause() {
- mMapView.onPause();
- super.onPause();
- }
- @Override
- protected void onResume() {
- mMapView.onResume();
- super.onResume();
- }
- @Override
- protected void onDestroy() {
- // 退出时销毁定位
- mLocClient.stop();
- // 关闭定位图层
- mBaiduMap.setMyLocationEnabled(false);
- mMapView.onDestroy();
- mMapView = null;
- super.onDestroy();
- }
- }
你要在 Activity生命周期onDestroy()方法的时候,同时 结束 定位服务的生命周期。
另外,还有一个可能是权限问题,所以当出现该问题的时候查查权限的问题。