首先让我声明这个问题与我的原生 Android 应用程序的 Map v2 API 有关。其次,我查看了一些关于如何检测 Map v2 API 上的平移更改的 stackOverflow 帖子(例如,如何在 Google Map API v2 中处理地图的 onTouch 事件?),但在这一点上,这些解决方案似乎有点考虑到我的要求,有点矫枉过正。
这是我想要完成的...
检测用户是否更改了地图的原始相机位置(缩放或平移),如果是,则在地图上显示重置按钮,以便用户可以通过点击重置按钮简单地将地图重置为原始位置。
这是我的方法......
为此,我使用“OnCameraChangeListener getCameraChangeListener()”回调和回调测试传入的相机位置(通过 onCameraChange(CameraPosition 位置)是否与渲染地图的“原始”相机位置不同。如果不同,则我显示重置按钮,以便用户可以将地图返回到它的位置。
这是我遇到的问题....
一切都按预期工作,除了当调用“OnCameraChange”回调以响应将地图图像重置为其“原始”位置(通过“重置”按钮)时,通过“onCameraChange”回调传入的相机“位置”不会t 匹配“原始”地图位置(如我所料),即使地图已适当重置。
这给我带来了一个问题,因为如果通过回调传入的相机位置与“原始”位置不匹配,那么我会使重置按钮可见。但是因为我已经成功地将地图重置到它的原始位置,所以我不再希望重置按钮可见......因此我的问题。
这里是我需要你帮助的地方......
- 我在这里想念什么?如上所述,我预计最后一次回调中返回的地图“位置”(通过 onCameraChange)将与“原始”相机位置相匹配......毕竟重置为“原始”地图位置是触发的最后一次 onCameraChange 回调。
问候。