2015-03-02 105 views
1

我需要偵聽CameraPosition修改來繪製自定義指南針。問題是:GoogleMap.OnCameraChangeListener onCameraChangeGoogleMap.OnCameraChangeListener onCameraChange延遲工作

  • 此監聽器可能不會通知中間攝像頭位置。
  • 它隨機延遲觸發(不明白爲什麼)

的是,有沒有辦法聽CameraPosition軸承的變化? (在ios f.e中有可能實現使用鍵值觀測),反射...? 謝謝。

回答

1

把上面的FrameLayout地圖和抓亮點:

@Override 
    public boolean onInterceptTouchEvent(MotionEvent ev) { 
     if (mCatchTouchFrameLayoutListener != null) 
      mCatchTouchFrameLayoutListener.onTouch(ev); 
     return false; 
    } 
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

+6

這怎麼回答這個問題? – shkschneider 2015-03-03 13:39:58