我正在开发一个显示 Google 地图的 Android 应用程序。我希望这张地图以用户位置为中心,并旋转到用户方向和倾斜。描述的行为可以在谷歌地图应用程序中看到;当您单击一次“位置”按钮时,地图会以您的位置为中心。当第二次单击时,它会实现所描述的行为。
如何使用 Google Maps API 实现这一目标?我可以以编程方式激活它吗?
有什么建议么?
我正在开发一个显示 Google 地图的 Android 应用程序。我希望这张地图以用户位置为中心,并旋转到用户方向和倾斜。描述的行为可以在谷歌地图应用程序中看到;当您单击一次“位置”按钮时,地图会以您的位置为中心。当第二次单击时,它会实现所描述的行为。
如何使用 Google Maps API 实现这一目标?我可以以编程方式激活它吗?
有什么建议么?
要将位置设置为地图的中心,请使用:
map.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(lat, lng)));
那么你真的应该看看CameraPosition.Builder()
文档中的类。您将在那里获得所有答案,但我将向您展示如何使用它的示例:
CameraPosition cameraPosition = new CameraPosition.Builder().
target(location).
tilt(degrees).
zoom(zoom).
bearing(bearing).
build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
@Carnal 的回答很有帮助,但我认为它并不能完全回答您的问题。
不幸的是,谷歌还没有在谷歌地图 API 中实现这个功能,所以你必须手动完成。
首先,您需要CameraPosition
像@Carnal 演示的那样创建一个。
其次,如果您希望地图以指南针的方式旋转,有很多关于获取指南针值的很棒的教程。这是一个:http.bearing()
://www.journal.deviantdev.com/android-compass-azimuth-calculating(使用您的属性的罗盘值CameraPosition
)
最后,调用map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
移动地图的“相机”
希望这可以帮助!