From 0df30b854a3b4d37e5695b10bff635b1235258a3 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Wed, 27 Jul 2016 13:51:36 +1000 Subject: [PATCH 1/3] Allow local dependencies to be used. --- build.gradle | 7 +++++++ 1 file changed, 7 insertions(+) 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.) From 851da2ccefb85bca3a5d024dfbb3177eb2154f87 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Wed, 27 Jul 2016 13:52:04 +1000 Subject: [PATCH 2/3] Update Google Play Services version. --- demo/build.gradle | 2 +- library/build.gradle | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) 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/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" From 2f7f2c03b14eab5e49d95cb233124a9dc7aef7e7 Mon Sep 17 00:00:00 2001 From: Stephen McDonald Date: Wed, 27 Jul 2016 13:58:44 +1000 Subject: [PATCH 3/3] Update clustering to use new camera listener. --- .../utils/demo/BigClusteringDemoActivity.java | 2 +- .../utils/demo/ClusteringDemoActivity.java | 3 +-- .../demo/CustomMarkerClusteringDemoActivity.java | 2 +- .../maps/android/clustering/ClusterManager.java | 16 +++++++++------- 4 files changed, 12 insertions(+), 11 deletions(-) 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/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.