3

ClusterManager를 구현하는 동안 getMap(). setOnCamera가 변경되었습니다. 변경 리스너 (clusterManager)가 사용되지 않습니다. Github에서 android-maps-utils 샘플을 보면 getMap()을 발견했습니다 setOnCamera Idle 리스너 (mClusterManager);ClusterManager setOnCameraIdleListener

기본 ClusterManager 클래스가 GoogleMap.OnCameraIdleListener를 구현하지 않기 때문에 동일한 작업을 시도하면 오류가 발생합니다.

dependencies { 
    compile 'com.google.maps.android:android-maps-utils:0.4.3' 
} 

가 어떻게 최신 ClusterManager 클래스에 대한 액세스 권한을 얻을 수 있습니다 :

그러나, 내 gridle 파일에, 나는 최신지도 - 폴더의 유틸리티 라이브러리, 나에게 보이는 사용하고? 감사

답변

14

대신 :

mMap.setOnCameraChangeListener(mClusterManager); 

할 내용 : API의 작동

final CameraPosition[] mPreviousCameraPosition = {null}; 
    googleMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() { 
     @Override 
     public void onCameraIdle() { 
      CameraPosition position = googleMap.getCameraPosition(); 
      if(mPreviousCameraPosition[0] == null || mPreviousCameraPosition[0].zoom != position.zoom) { 
       mPreviousCameraPosition[0] = googleMap.getCameraPosition(); 
       clusterManager.cluster(); 
      } 
     } 
    }); 

...

0

플레이 서비스 -지도 후 9.4.0 버전들은 GoogleMap.OnCameraChangeListener를이 리스너 3 명으로 변경하십시오.

GoogleMap.OnCame raMoveStartedListener,

GoogleMap.OnCameraMoveListener,

GoogleMap.OnCameraIdleListener.