我正在开发一个需要用罗盘旋转的MapView的应用程序。 我知道如何旋转的摄像头,但我需要旋转与罗盘的MapView。 中心点应该是当前位置。 我发现地图V1代码,但我需要地图V2做
Answer 1:
OK,我理解了它自己。 首先你需要从罗盘计算轴承。 然后将地图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旋转。
Answer 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);
文章来源: Android Maps v2 rotate mapView with compass