使用集群管理器在地图上添加新标记不会反映更改,直到我放大并缩小地图

Edw*_*ins 13 android google-maps markerclusterer android-maps-utils

当我使用集群管理器以编程方式在地图上添加新标记时,它不会反映更改,直到我更新放大和缩小.

我已经看到很多关于堆栈溢出的问题,但这对我不起作用,

所以请告诉我如何在不清除地图的情况下更新地图.

码:

 for (int i = 0; i < name.length; i++)
 { 
   Person_marker person_marker = new Person_marker(createRandLocation(latLng),
   name[i], getAddress(latLng), typedArray.getResourceId(i, -1), time[i], acuracy[i]);
   person_markerList.add(person_marker);
 } 
clusterManager.clearItems(); clusterManager.addItems(person_markerList);
Run Code Online (Sandbox Code Playgroud)

k3v*_*ud3 29

添加完所有标记后,如果您调用clusterManager.cluster()它将绘制预先添加的内容.

希望这可以帮助

  • 你是对的,我没有在任何地方看到它正确记录,但如果你打开ClusterManager的代码(https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com /google/maps/android/clustering/ClusterManager.java)并检查群集方法,javadoc确实说你可能想在添加新项目后调用它. (3认同)
  • +1 非常好,帮助了我!这是在哪里记录的?谷歌的集群演示不使用,https://github.com/googlemaps/android-maps-utils/blob/master/demo/src/com/google/maps/android/utils/demo/ClusteringDemoActivity.java (2认同)