3

ClusterManagerを実装しようとしているうちに、getMap()。setOnCamera 変更リスナー(clusterManager)は推奨されていません。 Githubのandroid-maps-utilsサンプルを見ると、getMap()に気付いた。setOnCamera Idleリスナー(mClusterManager);ClusterManager setOnCameraIdleListener

デフォルトのClusterManagerクラスがGoogleMap.OnCameraIdleListenerを実装していないため、同じことを試みるとエラーが発生します。

しかし、私のgridleファイルで、私は私には思えるものを使用していますが、最新のマップ-utilの図書館:

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

にはどうすれば最新のClusterManagerのクラスへのアクセスを得ることができますか? おかげ

答えて

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。

関連する問題