【发布时间】:2017-06-19 01:42:16
【问题描述】:
所以我有一个包含 4 个片段的 ViewPager。第三个片段是 MapBox。现在打开第 3 页时,它会调用onMapReady,这是配置跟踪的最佳时机,就像在示例中一样。
mMapboxMap = mapBoxMap;
mMapboxMap.setMinZoomPreference(Constants.MIN_ZOOM);
mMapboxMap.setMaxZoomPreference(Constants.MAX_ZOOM);
mMapboxMap.getMyLocationViewSettings().setPadding(0, 0, 0, 0);
mMapboxMap.getMyLocationViewSettings().setAccuracyTintColor(ContextCompat.getColor(getContext(), R.color.color_location_accuracy_tint));
mMapboxMap.getMyLocationViewSettings().setForegroundTintColor(ContextCompat.getColor(getContext(), R.color.color_location_tint));
mMapboxMap.getTrackingSettings().setDismissAllTrackingOnGesture(true);
mMapboxMap.setMyLocationEnabled(true);
mMapboxMap.setOnCameraChangeListener((CameraPosition p) -> onCameraChange(p));
mMapboxMap.setOnScrollListener(() -> onMapScroll());
mPermissionManager = new PermissionsManager(this);
mLocationEngine = AndroidLocationEngine.getLocationEngine(getActivity());
mLocationEngine.activate();
enableTracking(true);
当我切换回第 1 页时,根据 ViewPager 的行为,第 3 页将被丢弃。问题是,它仍在跟踪 GPS,因为我可以看到通知栏的 GPS 指示灯仍然亮着。
我这样终止它:
mLocationEngine.removeLocationUpdates();
mLocationEngine.deactivate();
mLocationEngine.removeLocationEngineListener(mLocationEngineListener);
enableTracking(false);
这是我的enableTracking 方法:
public void enableTracking(boolean enable)
{
mMapboxMap.getTrackingSettings().setMyLocationTrackingMode(enable? MyLocationTracking.TRACKING_FOLLOW : MyLocationTracking.TRACKING_NONE);
}
任何想法为什么会发生这种情况?
【问题讨论】: