diff --git a/build.gradle b/build.gradle index f2d3dbf8d..908bb3231 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,13 @@ buildscript { } } +allprojects { + repositories { + mavenLocal() + jcenter() + } +} + /** * Improve build server performance by allowing disabling of pre-dexing * (see http://tools.android.com/tech-docs/new-build-system/tips#TOC-Improving-Build-Server-performance.) diff --git a/demo/build.gradle b/demo/build.gradle index fb54c4c4d..0f1a77b9d 100644 --- a/demo/build.gradle +++ b/demo/build.gradle @@ -4,7 +4,7 @@ dependencies { compile project(':library') // Or, fetch from Maven: // compile 'com.google.maps.android:android-maps-utils:0.3+' - compile 'com.google.android.gms:play-services-maps:9.2.0' + compile 'com.google.android.gms:play-services-maps:9.4.0' } android { diff --git a/demo/src/com/google/maps/android/utils/demo/BigClusteringDemoActivity.java b/demo/src/com/google/maps/android/utils/demo/BigClusteringDemoActivity.java index fe45f5af7..def7d6806 100644 --- a/demo/src/com/google/maps/android/utils/demo/BigClusteringDemoActivity.java +++ b/demo/src/com/google/maps/android/utils/demo/BigClusteringDemoActivity.java @@ -37,7 +37,7 @@ protected void startDemo() { mClusterManager = new ClusterManager(this, getMap()); - getMap().setOnCameraChangeListener(mClusterManager); + getMap().setOnCameraIdleListener(mClusterManager); try { readItems(); } catch (JSONException e) { diff --git a/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java b/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java index 0e7baee6e..61f46fa8a 100644 --- a/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java +++ b/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java @@ -20,7 +20,6 @@ import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.model.LatLng; -import com.google.maps.android.clustering.Cluster; import com.google.maps.android.clustering.ClusterManager; import com.google.maps.android.utils.demo.model.MyItem; @@ -40,7 +39,7 @@ protected void startDemo() { getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 10)); mClusterManager = new ClusterManager(this, getMap()); - getMap().setOnCameraChangeListener(mClusterManager); + getMap().setOnCameraIdleListener(mClusterManager); try { readItems(); diff --git a/demo/src/com/google/maps/android/utils/demo/CustomMarkerClusteringDemoActivity.java b/demo/src/com/google/maps/android/utils/demo/CustomMarkerClusteringDemoActivity.java index 8cde51c04..8e1865f97 100644 --- a/demo/src/com/google/maps/android/utils/demo/CustomMarkerClusteringDemoActivity.java +++ b/demo/src/com/google/maps/android/utils/demo/CustomMarkerClusteringDemoActivity.java @@ -161,7 +161,7 @@ protected void startDemo() { mClusterManager = new ClusterManager(this, getMap()); mClusterManager.setRenderer(new PersonRenderer()); - getMap().setOnCameraChangeListener(mClusterManager); + getMap().setOnCameraIdleListener(mClusterManager); getMap().setOnMarkerClickListener(mClusterManager); getMap().setOnInfoWindowClickListener(mClusterManager); mClusterManager.setOnClusterClickListener(this); diff --git a/library/build.gradle b/library/build.gradle index 46dbfede1..82d10a3a0 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,10 +6,9 @@ archivesBaseName = 'android-maps-utils' group = 'com.google.maps.android' dependencies { - compile 'com.google.android.gms:play-services-maps:9.2.0' + compile 'com.google.android.gms:play-services-maps:9.4.0' } - android { compileSdkVersion 23 buildToolsVersion "23.0.2" diff --git a/library/src/com/google/maps/android/clustering/ClusterManager.java b/library/src/com/google/maps/android/clustering/ClusterManager.java index ab94f527c..f1eb25eec 100644 --- a/library/src/com/google/maps/android/clustering/ClusterManager.java +++ b/library/src/com/google/maps/android/clustering/ClusterManager.java @@ -38,10 +38,14 @@ /** * Groups many items on a map based on zoom level. *

- * ClusterManager should be added to the map as an:

  • {@link com.google.android.gms.maps.GoogleMap.OnCameraChangeListener}
  • + * ClusterManager should be added to the map as an:
    • {@link com.google.android.gms.maps.GoogleMap.OnCameraIdleListener}
    • *
    • {@link com.google.android.gms.maps.GoogleMap.OnMarkerClickListener}
    */ -public class ClusterManager implements GoogleMap.OnCameraChangeListener, GoogleMap.OnMarkerClickListener, GoogleMap.OnInfoWindowClickListener { +public class ClusterManager implements + GoogleMap.OnCameraIdleListener, + GoogleMap.OnMarkerClickListener, + GoogleMap.OnInfoWindowClickListener { + private final MarkerManager mMarkerManager; private final MarkerManager.Collection mMarkers; private final MarkerManager.Collection mClusterMarkers; @@ -181,13 +185,11 @@ public void cluster() { /** * Might re-cluster. - * - * @param cameraPosition */ @Override - public void onCameraChange(CameraPosition cameraPosition) { - if (mRenderer instanceof GoogleMap.OnCameraChangeListener) { - ((GoogleMap.OnCameraChangeListener) mRenderer).onCameraChange(cameraPosition); + public void onCameraIdle() { + if (mRenderer instanceof GoogleMap.OnCameraIdleListener) { + ((GoogleMap.OnCameraIdleListener) mRenderer).onCameraIdle(); } // Don't re-compute clusters if the map has just been panned/tilted/rotated.