我想确定是否从用户发起了相机更改事件。 (我必须基于此做出不同的行动)。因此,如果用户用手指平移相机,我必须关闭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
。我发现我不能依赖于此,因为cameraPosition
和lastClickedMarker
坐标总是会有所不同,即使使用animateCamera()
以编程方式对该标记进行真正的动画处理。
有什么方法可以解决这个问题吗?