[英]Google Maps Clustering not working with dynamic data
我對GoogleMaps
的群集有問題。 在我的應用程序中,當用戶放大或滾動地圖時,我會更新地圖。 我OnCameraIdleListener
使用OnCameraIdleListener
( link ):
@Override
public void onCameraIdle() {
clearItems();
do API Call
}
發生這種情況時,我會使用新的半徑進行API調用,並且會收到新的對象列表,這些列表在我當前的半徑內可見。 在我收到數據后,將新的興趣點繪制到地圖上。 因此,我遍歷一個列表,並為每個元素創建一個集群項目並將其添加到集群管理器中。
CustomClusterItem clusterItem = new CustomClusterItem(new LatLng(item.getLocation().getLatitude(), item.getLocation().getLongitude()), poi);
mClusterManager.addItem(clusterItem);
並在迭代后即時通話
mClusterManager.cluster();
遺憾的是,群集無法正常工作。 例如,即時縮放距離地圖有多遠都沒關系。 我缺少什么嗎?
提前致謝!
我的地圖上只有4個POI,而聚類僅以5個項目開始。 因此沒有錯誤。 我只是不知道默認情況下是否配置了大小。 如果某人想要實現少於5個項目的集群,則可以使用
@Override
protected boolean shouldRenderAsCluster(Cluster<T> cluster) {
//start clustering if at least 2 items overlap
return cluster.getSize() > 1;
}
DefaultClusterRenderer( https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/clustering/view/DefaultClusterRenderer.java )中的此方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.