2017-07-10 37 views
0

我有一個GoogleMaps集羣的問題。在我的應用程序中,當用戶放大或滾動地圖時更新地圖。使用IM的OnCameraIdleListenerlink)本:谷歌地圖集羣不能與動態數據一起工作

@Override 
public void onCameraIdle() { 
    clearItems(); 
    do API Call 
} 

當發生這種情況即時通訊做新半徑和IM接收是我目前的半徑內可見對象的一個​​新的列表API調用。在我收到數據後,將新的POI繪製到我的地圖上。因此,我遍歷一個列表,併爲每個元素創建一個集羣項並將其添加到集羣管理器。

CustomClusterItem clusterItem = new CustomClusterItem(new LatLng(item.getLocation().getLatitude(), item.getLocation().getLongitude()), poi); 
mClusterManager.addItem(clusterItem); 

和迭代IM調用

mClusterManager.cluster(); 

可悲的是聚類不起作用了。例如,放大地圖距離地圖有多遠並不重要。有什麼我失蹤?

在此先感謝!

回答

0

我剛剛在我的地圖上有4個POI,而Clustering只是從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)這個方法。