2014-04-16 50 views
1

在我的應用程序中我需要地圖拖動監聽器,我已經按照下面的鏈接: How can I handle map move end using Google Maps for Android V2?但我沒有得到100%可靠的解決方案,但它的工作基於相機監聽器。我做了以下事情:Android地圖v2拖動監聽器

  1. 該代碼適用於任何時候相機縮放。
  2. ,所以我改變 代碼縮放級別(如縮放級別增加或減少 我不叫我的方法。)
  3. ,但如果沒有縮放水平沒有改變我的函數被調用。

我的需求是如何通過使用相機偵聽器獲得可靠的解決方案?如果在Google上發現任何問題,請分享鏈接。

我的代碼示例:

map.setOnCameraChangeListener(new OnCameraChangeListener() { 
       @Override 
       public void onCameraChange(CameraPosition cameraPosition) { 
        if(previousZoomLevel != cameraPosition.zoom) { 
         Log.e("zooming * previousZoomLevel", "" 
           + cameraPosition.zoom + " " 
           + previousZoomLevel); 
        } 
        else { 
         Log.e("NOT zooming * previousZoomLevel", "" 
           + cameraPosition.zoom + " " 
           + previousZoomLevel); 
           myMethod(); 
        } 
    } 
} 

回答

0

您應始終保存在onCameraChange結束縮放級別,否則你總是比較爲0,因此它總是算作變焦。

+0

in myMethod()我做了一些操作,不要改變縮放級別。因此相機監聽器會調用並且之前的縮放等於相機縮放,以便myMethod()被調用兩次。我如何預防? –