2015-04-08 22 views
0

我有一個小問題。我想要的:Osmbonuspack:顯示視覺RadiusMarkerClusterer的元素。怎麼樣?

  1. 抓住按羣集點擊。例如,我有personMarkerClusterer。它包含例如3人(另一個人不在羣集中,因爲距離太大)。它的屏幕截圖

http://i.stack.imgur.com/XpnWp.png

我重寫RadiusMarkerClusterer類,onSingleTapConfirmed方法

class MyRadiusMarkerClusterer extends RadiusMarkerClusterer { 

    public MyRadiusMarkerClusterer(Context ctx) { 
     super(ctx); 
    } 

    @Override 
    public boolean onSingleTapConfirmed(MotionEvent event, MapView mapView) { 
     if (super.onSingleTapConfirmed(event, mapView)) { 
      Toast.makeText(MapActivity.this, "cluster was clicked", Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
     return false; 
    } 

} 

,但我得到點擊任何人!如果人員不在集羣中,並且我點擊他,則在單觸點確認調用上的方法。爲什麼?我只想獲取羣集元素的回調(即通過羣集)。是的,這是集羣的元素,因爲我們增加了它的

personClusterMarkers.add(marker); 

由我該怎麼處理只爲視覺集羣的事件?

  1. 當我點擊RadiusMarkerClusterer時獲取標記列表。我們在MarkerClusterer中有方法getItems(),但它返回所有元素。我怎樣才能獲得視覺集羣的元素?

回答

0

您對MyRadiusMarkerClusterer的onTableTapConfirmed進行了重寫。所以當你點擊聚類器中的任何東西時你會得到答案。

羣集器不是羣集,羣集器包含許多羣集。

如果您想在點擊羣集標記時擁有自定義行爲,則必須通過覆蓋buildClusterMarker來自定義此羣集標記的創建。

看一看這裏:和https://github.com/MKergall/osmbonuspack/issues/110

,而不是設置自定義信息窗口,你必須設定marker.setOnMarkerClickListener定製OnMarkerClickListener。

+0

感謝您的回覆。我會嘗試。我認爲這個功能已經存在 – Sergey

相關問題