我在我的应用程序中使用了集群概念,我可以成功获得集群但是当标记数组刷新时问题没有得到更新,现在基于我刷新地图的里程
检查下面的代码:
if (map != null) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(Double.parseDouble(list.get(0).getLatitude()),
Double.parseDouble(list.get(0).getLangtitude())),
map.getCameraPosition().zoom));
mClusterManager = new ClusterManager<MyItem>(getActivity(), map);
map.setOnCameraChangeListener(mClusterManager);
map.setOnMarkerClickListener(mClusterManager);
}
mClusterManager.clearItems();
for (int i = 0; i < list.size(); i++) {
String title = list.get(i).getName() + "~" + list.get(i).getCity()
+ "~" + list.get(i).getSector();
MyItem offsetItem = new MyItem(Double.parseDouble(list.get(i)
.getLatitude()), Double.parseDouble(list.get(i)
.getLangtitude()), title, list.get(i).getSector(),
String.valueOf(i));
mClusterManager.addItem(offsetItem);
}
mClusterManager.cluster();
不是为每个茶点添加更新标记,mClusterManager.clearItems();
它不起作用,不知道我做了什么错,请弄清楚
在此先感谢
答案 0 :(得分:2)
如果要清除所有标记,请使用clear()
。
如果要删除单个标记,请使用remove()
方法获取其引用。
答案 1 :(得分:0)
我遇到了同样的问题,我用这个问题解决了他们:
mClusterManager.clearItems();
mClusterManager.cluster();
//fill with data
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mClusterManager.cluster();
}
}, 100);