2014-04-16 2 views
1

내 응용 프로그램에서지도 끌어 오기 수신기가 필요, 나는 아래의 링크를 따라했습니다 : How can I handle map move end using Google Maps for Android V2?하지만 난 100 % 신뢰할 수있는 솔루션을 얻을 수 없어. 자사의 작품은 카메라 수신기를 기반으로합니다. 나는 다음과 같은 일을했다.안드로이드지도 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

myMethod()에서 일부 작업을 수행 할 때 줌 레벨을 변경하지 마십시오. 그래서 카메라 청취자는 호출하고 이전 줌은 카메라 줌과 같아 지므로 myMethod()가 두 번 호출됩니다. 어떻게 예방합니까? –