实用地滚动 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);
我正在尝试构建一个 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);