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);
предположения, что ваш Marker
имеет date
настраиваемое поле:
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). Если вы измените его на меньшее значение, метка даты получит .
Demo скрипку: http://jsfiddle.net/RGS5b/181/