实用地滚动 android 个地图

Scroll android maps pragmatically

我正在尝试构建一个 android 应用程序以在 android 地图 API v2 上滚动 android 工作室。我想使用 phone 的加速计传感器在所有不同方向滚动地图。例如,如果 phone 向右倾斜 45 度,我希望地图向右倾斜 45 度。从我已经发现的情况来看,我只能通过 latlong 目标或像素移动相机(滚动),有没有办法使用 X , Y 坐标的角度来做到这一点? 这些是我尝试过的示例: 1- 按 latlang 目标移动相机。

    CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(MOUNTAIN_VIEW)      // Sets the center of the map to Mountain View
            .zoom(20)                   // Sets the zoom
            .bearing(20)                // Sets the orientation of the camera to east
            .tilt(10)                   // Sets the tilt of the camera to 30 degrees
            .build();                   // Creates a CameraPosition from the builder

    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition), 1000, null);

2- 使用加速度计从 X、Y 找到 phone 角度:

        float X = (float)Math.round(event.values[0]);
        float Y= (float)Math.round(event.values[1]);
        float angle = (float) (Math.atan2(X, Y)/(Math.PI/180));

如果有任何新想法或按角度移动相机的方法,我将不胜感激。

此方法只会在一秒内将相机移动等于设备倾斜幅度的像素。

mMap.animateCamera(CameraUpdateFactory.scrollBy(x, y), 1000, null);