我正在我的 Android 应用程序中使用谷歌地图。 默认情况下,我想在 onLocationChange 内以及每次用户单击“我的位置”按钮时为相机设置动画。但是如果用户手动移动相机,我想停止将相机更新到当前位置。 事实上,我一直在更新相机:
@Override
public void onLocationChanged(Location location) {
googleMap.animateCamera(map.getCamera(location));
}
也许使用 bool 变量,但我不知道如何使用。
最佳答案
你走在正确的道路上。
定义:
private boolean followUser;
添加检查:
@Override
public void onLocationChanged(Location location) {
if (followUser) {
googleMap.animateCamera(map.getCamera(location));
}
}
在onMyLocationButtonClick
中:
followUser = true;
最后一件事,您需要确保当用户开始与 map 交互时,您停止关注,因此添加一个叠加层,例如:
<FrameLayout>
<MapView />
<View />
</FrameLayout>
并将 OnTouchListener
添加到该 View
中,您可以在其中执行以下操作:
followUser = false;
return false;
关于android - 如果用户不手动更新相机,请跟踪我的位置 - Google map v2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776014/