所以我有一个包含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);
}
为什么会发生这种情况?
答案 0 :(得分:2)
看起来你{4}}出现在Mapbox使用的基础位置库中。这应该在下一个版本5.1.0中修复。