在我的应用程序中,我有很多要在谷歌地图中显示的点,所以我决定使用 ClusterManager。我想更改一个 ClusterItem 上的图标(我点击了它)不知道我该怎么做:
我这样做:
@Override public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mClusterManager = new ClusterManager<>(this, mMap);
final CustomClusterRenderer renderer = new CustomClusterRenderer(this, mMap, mClusterManager);
mClusterManager.setRenderer(renderer);
mClusterManager.setOnClusterClickListener(
new ClusterManager.OnClusterClickListener<StringClusterItem>() {
@Override public boolean onClusterClick(Cluster<StringClusterItem> cluster) {
Toast.makeText(MapsActivity.this, "Cluster click", Toast.LENGTH_SHORT).show();
return false;
}
});
mClusterManager.setOnClusterItemClickListener(
new ClusterManager.OnClusterItemClickListener<StringClusterItem>() {
@Override public boolean onClusterItemClick(StringClusterItem clusterItem) {
Toast.makeText(MapsActivity.this, "Cluster item click", Toast.LENGTH_SHORT).show();
return false;
}
});
mClusterManager.setOnClusterItemInfoWindowClickListener(
new ClusterManager.OnClusterItemInfoWindowClickListener<StringClusterItem>() {
@Override public void onClusterItemInfoWindowClick(StringClusterItem stringClusterItem) {
Toast.makeText(MapsActivity.this, "Clicked info window: " + stringClusterItem.title,
Toast.LENGTH_SHORT).show();
}
});
mMap.setOnInfoWindowClickListener(mClusterManager);
mMap.setInfoWindowAdapter(mClusterManager.getMarkerManager());
mMap.setOnCameraChangeListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
for (int i = 0; i < 10; i++) {
final LatLng latLng = new LatLng(-34 + i, 151 + i);
mClusterManager.addItem(new StringClusterItem("Marker #" + (i + 1), latLng));
}
mClusterManager.addItem(new StringClusterItem("Marker #" + (10 + 1), new LatLng(-34+11 , 151 +11),true));
mClusterManager.cluster();
}
最佳答案
如果您查看 doc他们提到了自定义标记集群。
The CustomMarkerClusteringDemoActivity defines its own cluster item, a Person, and renders it by extending the DefaultClusterRenderer as PersonRenderer.
You can also implement
ClusterManager.OnClusterItemClickListener<Person>
in a similar way.
他们还提供了 sample code更改 ClusterItem 的图标/图像。
关于Java android google maps集群,点击它们后更改标记中的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57902297/