2016-11-27 83 views
0

在jquery移動web應用程序中使用帶有markerclusterer的google maps v3,工作正常。如果有26個或更多的標記,我希望默認的縮放操作,我有一個listview,我想填充羣集中所有標記點擊時的細節,只要該羣集包含25個或更少的標記。markerclusterer點擊羣集以獲取子標記

我在哪裏,我需要把我的代碼,在這裏markerclusterer.js確定的onclick事件......

/** 
* Triggers the clusterclick event and zoom's if the option is set. 
* 
* @param {google.maps.MouseEvent} event The event to propagate 
*/ 
ClusterIcon.prototype.triggerClusterClick = function(event) { 
    var markerClusterer = this.cluster_.getMarkerClusterer(); 

    // Trigger the clusterclick event. 
    google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_, event); 

    if (markerClusterer.isZoomOnClick()) { 
    // Zoom into the cluster. 
    this.map_.fitBounds(this.cluster_.getBounds()); 
    } 

//my code will go here... 
//get number of markers in clicked cluster 
//if > 25 then zoom as normal 
//else get cluster's child markers and loop through to add to listview 

}; 

...但有隻訪問標記的數組的一個簡單的方法包含在點擊的羣集內,假設有25個或更少的標記,並且如果不是正常放大。

我可以照顧Listview更新好,但不知道如何隔離任何給定羣集的標記......任何人都可以幫忙嗎?哦,我已經在markerclusterer.js中將zoomOnCLick設置爲False,但是也許我應該將其保持爲true,並使用少於26個標記的集羣來更新我的列表視圖。

在此先感謝。

回答

0

我找到了我的問題的答案....使用增強的markerclustererplus.js,它支持getMarkers()函數,該函數可用於使用提供的單擊事件返回點擊的羣集的標記數組

還存在對返回佔我的其他挑戰

代碼和這裏的例子...的事件例如在我的情況下

幫助點擊集羣內的標記的數量的getSize()函數支持

https://github.com/googlemaps/v3-utility-library/tree/master/markerclustererplus

+0

有沒有npm包? – TomP