android - 如果用户不手动更新相机,请跟踪我的位置 - Google map v2

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

我正在我的 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/

相关文章:

android - 使用 NDK 构建迁移到 Gradle Experimental 的问题

android - 如何检测空值或 FirebaseRecyclerAdapter 中不存在子值

Android 谷歌地图 API V2 黑屏

android - 如何使用 MapFragment(而非 MapView)获取 map 的坐标?

Android 分享 Google Map V2 行程 (Facebook)

java - 接收音频文件的插件

android - Facebook sdk key 哈希太短

Android NotificationManager 给我 "no valid small icon"错误

android - 如何在 com.google.android.libraries.places :places: 中设置语言限制

android - 当多个标记显示在 android map 上时 Progressdialog 卡住