GoogleMap.OnCameraChangeListener onCameraChange适用于延迟

时间:2015-03-02 21:12:08

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

我需要监听CameraPosition更改以绘制自定义指南针。问题是:GoogleMap.OnCameraChangeListener onCameraChange

  • 此听众可能不会收到有关中间摄像机位置的通知。
  • 随机延迟发射(无法理解原因)

有没有办法听CameraPosition轴承的变化? (在ios f.e。它可以实现使用键值观察),反射......? 感谢。

2 个答案:

答案 0 :(得分:1)

将FrameLayout放在地图上方并捕捉触摸:

@Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (mCatchTouchFrameLayoutListener != null)
            mCatchTouchFrameLayoutListener.onTouch(ev);
        return false;
    }

答案 1 :(得分:0)

要使用给定的CameraUpdate立即移动相机,您可以拨打GoogleMap.moveCamera(CameraUpdate)

通过动画更改,您可以让用户体验更加愉悦,特别是对于短动作。要执行此操作,而不是调用GoogleMap.moveCamera()来电GoogleMap.animateCamera()。地图将平滑移动到新属性。此方法的最详细形式GoogleMap.animateCamera(cameraUpdate, duration, callback)提供了三个参数:

  

CameraUpdate:描述移动相机位置的CameraUpdate。

     

回调:实现GoogleMap.CancellableCallback的对象。这个用于处理任务的通用接口定义了两个方法onCancel()onFinished()。对于动画,在以下情况下调用方法:   onFinish()   如果动画不间断地完成,则调用。   onCancel()   如果通过调用stopAnimation()或开始新的相机移动来中断动画,则调用此方法。   或者,如果您调用GoogleMap.stopAnimation()。

,也会发生这种情况      

持续时间:动画的所需持续时间(以毫秒为单位),为int