我在Android应用中使用谷歌地图。 我希望默认情况下在onLocationChange内部为摄像机设置动画,并且每次用户单击“我的位置”按钮时。但如果用户手动移动相机,我想停止将相机更新到当前位置。 实际上,我一直在更新相机:
@Override
public void onLocationChanged(Location location) {
googleMap.animateCamera(map.getCamera(location));
}
也许使用布尔变量,但我不确定如何。
答案 0 :(得分:1)
你走在正确的轨道上。
定义:
private boolean followUser;
添加支票:
@Override
public void onLocationChanged(Location location) {
if (followUser) {
googleMap.animateCamera(map.getCamera(location));
}
}
onMyLocationButtonClick
中的:
followUser = true;
最后一件事,你需要确保当用户开始与地图交互时,你停止跟随,所以添加一个叠加,例如:
<FrameLayout>
<MapView />
<View />
</FrameLayout>
并将OnTouchListener
添加到View
,您可以:
followUser = false;
return false;