-1

我想爲集羣設置自定義圖標。 我的要求如下:單個集羣圖標的自定義圖標

我有很多標誌......在集羣中進行分組,我想,所顯示的圖標 對應於標記的圖標將日期更近 。 (marker.date)

任何提示o建議?

回答

0

MarkerClusterer for Google Maps v3具有setCalculator(calculator:function(Array|number))功能,可用於覆蓋在MarkerClusterer標籤組:

var calc = function(markers, numStyles) { 
    var maxDate = new Date('01-01-1970'); 
    for (var i = 0; i < markers.length; i++) { 
     var currentDate = new Date(markers[i].date); 
     if (maxDate < currentDate){ 
      maxDate = currentDate; 
     } 
    } 
    return {text: maxDate.getDate() + "-" + (maxDate.getMonth()+1) + "-" + maxDate.getFullYear(), index: 4}; 
} 

markerCluster.setCalculator(calc); 

假設是你Markerdate自定義字段:

var clusterMarkers = [ 
    new google.maps.Marker({ 
     position: new google.maps.LatLng(59.381059,13.504026), 
     map: gm_map, 
     title:"P1220214 1.JPG", 
     date: '2015-10-10' 
    }), 
..... 
]; 

注:

  • 適當的錯誤處理(從string澆鑄到Date時)應 加入

  • 計算器index值設定爲4,所以它可以顯示整個日期 (例如。 2015年12月12日)。如果將其更改爲較小值,則日期標籤將被截斷。

演示小提琴:http://jsfiddle.net/RGS5b/181/