【发布时间】:2016-05-16 12:42:54
【问题描述】:
有没有办法从聚类中排除一个选定的标记?
这是我的渲染器类
private class StoreRenderer extends DefaultClusterRenderer<Store> {
HashMap<Store, Marker> storeMarkerMap = new HashMap<Store, Marker>();
public StoreRenderer(Context context, GoogleMap map, ClusterManager<Store> clusterManager) {
super(context, map, clusterManager);
}
public Marker getMarkerFromStore(Store clusterItem) {
return storeMarkerMap.get(clusterItem);
}
public void removeMarkerFromStore(Store itemToRemove) {
storeMarkerMap.remove(itemToRemove);
}
@Override
protected void onBeforeClusterItemRendered(Store item, MarkerOptions markerOptions) {
super.onBeforeClusterItemRendered(item, markerOptions);
markerOptions.icon(BitmapDescriptorFactory.fromResource(item.getMainCategoryResourceImage()));
}
@Override
protected void onClusterItemRendered(Store clusterItem, Marker marker) {
super.onClusterItemRendered(clusterItem, marker);
storeMarkerMap.put(clusterItem, marker);
}
@Override
protected boolean shouldRenderAsCluster(Cluster cluster) {
return cluster.getSize() > 3;
}
public HashMap<Store, Marker> getStoreMarkerMap() {
return storeMarkerMap;
}
}
我正在添加所有这样的商店
ClusterManager<Store> mClusterManager = new ClusterManager<Store>(getContext(), map);
StoreRenderer renderer = new StoreRenderer(getContext(), my_map, mClusterManager);
mClusterManager.setRenderer(renderer);
.....
mClusterManager.addItem(temp);
mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<Store>() {
@Override
public boolean onClusterItemClick(Store storeClusterItem) {
markerClicked(storeClusterItem);
return true;
}
});
如何从聚类中排除点击的标记?
【问题讨论】:
-
你找到答案了吗?
标签: android google-maps markerclusterer