2017-06-19 6 views
0

私は4つの断片を持つViewPagerを持っています。 3番目のフラグメントは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に戻ると、3ページ目はViewPagerの動作ごとに破棄されます。問題は、ノーティフバーがGPSインジケータをまだ持っているのを見ることができるので、GPSのためにまだトラッキングしていることです。

私はこのようにそれを終了します。

public void enableTracking(boolean enable) 
{ 
    mMapboxMap.getTrackingSettings().setMyLocationTrackingMode(enable? MyLocationTracking.TRACKING_FOLLOW : MyLocationTracking.TRACKING_NONE); 
} 

すべてのアイデア、なぜこの出来事:ここ

mLocationEngine.removeLocationUpdates(); 
    mLocationEngine.deactivate(); 
    mLocationEngine.removeLocationEngineListener(mLocationEngineListener); 
    enableTracking(false); 

は私enableTracking方法ですか?

答えて

2

あなたがhitting this issueのように見え、Mapboxが使用する基礎となるロケーションライブラリに存在しているようです。これは、次のリリース5.1.0で修正されるべきです。

+0

これはいつリリースされますか?今は利用可能ですか? –

+0

ベータ版を使用しましたが、このエラーが発生しています:com.mapzen.android:lost:3.0.1-20170607.212149-4。 –

+0

5.1.0には今週のリリース候補があり、すぐに最終リリースが予定されています。 – zugaldia

関連する問題