2016-09-27 136 views
2

我使用最新的Mapbox Android SDK並嘗試在地圖上顯示傳輸標記。有一個標誌isFlat表示標記應該平行於地面。然而,當我旋轉地圖時,標記不會與地面一起旋轉,例如,如果我設置了旋轉角度,那麼標記朝北,用戶旋轉地圖後,標記不會旋轉,並且不會再指向北方。此行爲與我以前使用的Google Maps SDK不同。如何使標記貼在Mapbox Android SDK中的地面上?

我必須在每個相機更新事件(當相機旋轉改變時)手動重新調整標記的旋轉。問題是如何修復標記的位置,以便它能夠堅持到地面並與之一起旋轉?

回答

0

雖然我們還沒有實現任何一種錨定,以保持標記它指向一個特定的地圖方位的,現在最好的解決辦法是一個onCameraChangeListener添加到地圖並更新標記時,地圖上的旋轉:

marker = mapboxMap.addMarker(new MarkerViewOptions() 
     .position(new LatLng(40.73581, -73.99155)) 
     .flat(true)); 

mapboxMap.setOnCameraChangeListener(new MapboxMap.OnCameraChangeListener() { 
     @Override 
     public void onCameraChange(CameraPosition position) { 
     marker.setRotation((float) -position.bearing); 
     } 
    }); 

這應該調整標記方向,每次地圖旋轉並保持指向相同的方向。

+0

這正是我所做的。但是我注意到在我調用'marker.setRotation()'後有一個滯後(也許是一個標記動畫)。有什麼辦法可以禁用動畫嗎? – ntoskrnl

+0

有沒有計劃支持錨定? – ntoskrnl

+0

您可以調整標記錨定。請參閱[本示例](https://github.com/mapbox/mapbox-android-demo/blob/master/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/MarkerFollowingRouteActivity.java#L191) – cammace

相關問題