Google地图Android版V2与罗盘旋转的MapView(Android Maps v2 ro

2019-07-19 14:57发布

我正在开发一个需要用罗盘旋转的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