0
我对android开发完全陌生。我正在使用Google map api 2,并且可以成功显示我在地图上的位置。现在我想显示我正在看的方向(即视场FOV, - 我的设备所面对的方向),如本例所示。我将不胜感激任何帮助。对不起,我的英语:)Android-需要在googleMap api上显示标记的FOV 2
图像引用:Dynamically drawing polygons in Google map
我对android开发完全陌生。我正在使用Google map api 2,并且可以成功显示我在地图上的位置。现在我想显示我正在看的方向(即视场FOV, - 我的设备所面对的方向),如本例所示。我将不胜感激任何帮助。对不起,我的英语:)Android-需要在googleMap api上显示标记的FOV 2
图像引用:Dynamically drawing polygons in Google map
尝试使用的GroundOverlay您的视野,这个示例使用的图像来显示FOV:
private GroundOverlay mFovOverlay;
//** create the FOV **//
private void createFov(LatLng userPosition, GoogleMap map, float bearing) {
GroundOverlayOptions fov = new GroundOverlayOptions();
fov.position(userPosition, 100f);
fov.anchor(0.5f, 1f);
fov.image(BitmapDescriptorFactory.fromResource(R.drawable.fov));
fov.bearing(bearing);
mFovOverlay = map.addGroundOverlay(fov);
}
//** change the FOV direction **//
private void changeFovDirection(float bearing) {
fovOverlay.setBearing(bearing);
}
如果您想根据设备的方向改变FOV方向离子,以度为单位调用changeFovDirection。这里的轴承是可以从设备传感器获得的方位角(见What is the alternative to android orientation sensor?)。请注意,从弧度(传感器单元),以度(的GroundOverlay轴承单元)进行转换,这是onSensorChanged方法我的代码段:
float azimut = orientation[0]; // orientation contains: azimut, pitch and roll
float azimutDegrees = (float) (azimut * 180/Math.PI);
mapFragment.changeFovDirection(azimutDegrees);