Как изменить изображение кластера в зависимости от количества включенных маркеров в Android?
Следующее изображение содержит различные стили кластера в зависимости от его размера. Это именно то, что я пытаюсь сделать с Android. я использую ClusterManager
от android-maps-util
,
Вот код JavaScript, который использовал серверный парень. Если возможно, мне нужна та же идея, чтобы сделать это.
gmap.mc.styles_ = [{ url: markersBaseLocation + 'm1.png', height: 53, width: 53 }, { url: markersBaseLocation + 'm2.png', height: 56, width: 57 }, { url: markersBaseLocation + 'm3.png', height: 66, width: 66 }, { url: markersBaseLocation + 'm4.png', height: 78, width: 78 }, { url: markersBaseLocation + 'm5.png', height: 90, width: 90 }];
1 ответ
Решение
Вы можете сделать это, предоставив свой собственный Renderer.
mClusterManager.setRenderer(new DefaultClusterRenderer<MyItem>(mContext, googleMap, mClusterManager) {
@Override
protected void onBeforeClusterRendered(Cluster<MyItem> cluster, MarkerOptions markerOptions) {
// use cluster.getSize() to get the number of markers inside the cluster.
}
Демо-код для этого можно найти по https://github.com/googlemaps/android-maps-utils.git. Загляните внутрь "CustomMarkerClusteringDemoActivity.java"