如果用户没有手动更新相机,请关注我的位置 - Google maps v2

时间:2013-12-25 19:18:43

标签: android google-maps-android-api-2

我在Android应用中使用谷歌地图。 我希望默认情况下在onLocationChange内部为摄像机设置动画,并且每次用户单击“我的位置”按钮时。但如果用户手动移动相机,我想停止将相机更新到当前位置。 实际上,我一直在更新相机:

@Override
public void onLocationChanged(Location location) {
   googleMap.animateCamera(map.getCamera(location));
}

也许使用布尔变量,但我不确定如何。

1 个答案:

答案 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;