我想为群集设置自定义图标。 我的要求如下:
我有很多标记...在群集中分组,我想要那个图标 显示对应于具有更多日期的标记的图标 最近。 (marker.date)
任何提示o建议?
答案 0 :(得分: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);
假设您的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)。如果将其更改为较小的值,则会获得日期标签
切断了。