2015-09-03 46 views
0

我做了一個谷歌地圖與過濾器工作正常,但現在我不得不添加集羣以及獲取越野車時使用過濾器。我已經嘗試過在堆棧溢出中發佈的幾個解決方案,但是我無法使它適用於過濾器和集羣。在地圖上進行過濾時,羣集不會更新並仍顯示所有標記。所以我想這樣做是推動數組中的過濾標記,並基於該數組我試圖創建一個新的集羣實例,但它不工作,所以請幫助。谷歌地圖標記過濾器與集羣

processChildren(listElement, function(el) { 
        var lat = parseFloat(getAttribute(el, 'data-lat')), 
        lng = parseFloat(getAttribute(el, 'data-lng')), 
        title = getAttribute(el, 'data-title'), 
        icon = getAttribute(el, 'data-icon'), 
        category = getAttribute(el, 'data-category'), 
        markerOptions, 
        marker; 

        if (!isNaN(lat) && !isNaN(lng)) { 
         markerOptions = mergeRecursive({}, mergeRecursive(settings.marker, { 
          position: new google.maps.LatLng(lat, lng), 
          title: title, 
          category: category 
         })); 
         if (icon) { 
          markerOptions.icon = icon; 
         } 

         marker = new google.maps.Marker(markerOptions); 

         markers.push(marker); 

         marker._locationElement = el; 
         el._marker = marker; 
         google.maps.event.addListener(marker, settings.marker.showInfoWindowAction, showInfoWindow); 
         if (settings.list.showInfoWindowAction) { 
          google.maps.event.addDomListener(el, settings.list.showInfoWindowAction, showMarker); 
         } 
        } 



       }); 


            if (settings.clusterer.enabled) { 
        clusterer = new MarkerClusterer(map, markers, settings.clusterer); 


       } 
+0

請提供[最小,完整,測試和可讀示例](後http://stackoverflow.com/help/mcve)**在問題本身**(不是鏈接到一個破損的頁面),說明問題,以及一些跡象表明你嘗試過的解決方案對你沒有幫助。 – geocodezip

+0

嗨,感謝您的評論,因爲js代碼相當長,所以我沒有在這裏發佈代碼,而是提供了鏈接到網站。我稍後更新了這個問題 –

+0

如果它「很長」,它可能不是一個**最小**的例子。 – geocodezip

回答

1

實測值過濾與所述溶液它必須創建當前羣集實例並創建集羣的新實例與過濾的列表

google.maps.event.addDomListener(select, "change", function() { 
      var selected = this.value; 
      clusterer.clearMarkers(); 
      clusterer.addMarkers(markers[selected]); 
     });