我正在開發一個應用程序,需要使用指南針來旋轉mapView。我知道如何旋轉相機,但我需要用指南針旋轉mapView。中心點應該是當前位置。我發現了地圖V1的代碼,但我需要使用地圖V2來做到這一點。Android Maps v2使用指南針旋轉mapView
9
A
回答
18
好的,我想出了自己。首先你需要計算指南針的方位。 然後可以旋轉Maps api-2相機。
public void updateCamera(float bearing) {
CameraPosition currentPlace = new CameraPosition.Builder()
.target(new LatLng(centerLatitude, centerLongitude))
.bearing(bearing).tilt(65.5f).zoom(18f).build();
googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(currentPlace));
}
在代碼中設置SensorListener
和onSensorChanged
事件調用此方法。我已經添加了傾斜值,因此地圖將以3D形式旋轉。
2
在你的GoogleMap對象中你可以訪問getMyLocation方法。這最後返回一個包含getBearing方法的Location對象。這個返回一個從最後一個已知位置和當前位置計算得到的float [0..360],0°是北軸,旋轉位於時鐘sens中。
要繼續,你可以使用如下代碼:
GoogleMap gMap = .....
float bearing = gMap.getMyLocation().getBearing();
CameraPosition newCamPos = new CameraPosition(latLngObject,
zoomValue,
tiltValue,
bearing);
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), durationValue, null);
+0
我們如何在V3中做到這一點?請建議。 我也發佈了類似的問題,以便通過更換軸承3次(每次120度旋轉1個週期圍繞一箇中心點)來旋轉地圖360度,但有緩動和顛簸。我怎樣才能避免這一點。 https://stackoverflow.com/questions/48123738/gmap-bearing-rotation-in-smooth-motion –
相關問題
- 1. 使用指南針方向旋轉MapView
- 2. 添加指南針以旋轉MapView
- 3. 根據指南針旋轉MapView
- 4. Android Google Maps v2未顯示指南針和位置圖標
- 5. 根據用戶指示在Google Maps V2上旋轉標記Android
- 6. 使用MapView的Google Maps API v1到v2
- 7. Android旋轉MapView
- 8. Android Google Maps V2,MapView導致NullPointerException
- 9. 使用Android Google Maps API v2在GoogleMap中旋轉多邊形
- 10. Android指南針
- 11. 指南針旋轉角度的問題 - 旋轉/翻譯
- 12. Google地圖Android api V2激活指南針和傾斜模式
- 13. MapView上的指南針模式
- 14. android指南針rotateanimation
- 15. Android OpenGL指南針
- 16. 指南針GPS指南針
- 17. Google Maps API v2中的旋轉標記
- 18. 使用Google Maps Android API v2
- 19. 如何根據設備指南針值旋轉Google地圖?
- 20. 如何在MapView上更改指南針的位置 - Android
- 21. Android,使用硬件指南針
- 22. 在Android中旋轉MapView
- 23. 使用指南針標題旋轉圖像以指向熟知的點
- 24. 如何使用1個手指在Google Maps API(android)上旋轉?
- 25. 定製指南針在Android谷歌地圖api v2
- 26. 指南針混合轉換
- 27. Android Maps API v2 - 標記旋轉的方法?
- 28. android maps api v2
- 29. 如何移動Android Google Maps API指南針位置
- 30. Android MapView v2黑屏
這不是問題太多,但.bearing是一個浮動。 – Chrispix
你如何得到方位? – sealskej
如果您使用GoogleMap而不是MapView,則可以使用mMap.setOnMyLocationChangeListener事件。 –