确定相机更改事件是编程

时间:2015-10-09 13:42:13

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

我想确定是否从用户发起了相机更改事件。 (我必须基于此做出不同的行动)。因此,如果用户用手指平移相机,我必须关闭sg,但如果我使用API​​移动相机,我不会。

目前我无法在我的OnCameraChangeListener中确定这是用户事件,因为onCameraChange(CameraPosition var1)方法未提供任何类型的信息。

我还试图以编程方式保存我动画的最后一个标记位置,并在侦听器方法中检查:

map.setOnCameraChangeListener(new GoogelMap.onCameraChangeListener {
    public void onCameraChange(CameraPosition position) {
            if (!cameraPosition.target.equals(lastClickedMarker)) {
                // this is a user event
            }
}

我将lastClickedMarker设为OnMarkerClickListener。我发现我不能依赖于此,因为cameraPositionlastClickedMarker坐标总是会有所不同,即使使用animateCamera()以编程方式对该标记进行真正的动画处理。

有什么方法可以解决这个问题吗?

0 个答案:

没有答案