使用带有 MarkerCluster 的 Google Maps V3,您可以在聚类时看到三种不同类型的颜色,具体取决于聚类在一起的数量。
问题:我想将规则从基于数量更改为该区域的案件严重程度,它也体现在我使用的自定义图标中。我使用的类型是绿色表示运行良好的产品,黄色表示警告,红色表示不良产品。
如果某处有坏产品,我希望能够在集群图标上看到红色,而不是基于数字..
我使用带有剃须刀的 ASP.NET MVC3 - 这可能会有所帮助。
各位大佬能做到吗?
使用带有 MarkerCluster 的 Google Maps V3,您可以在聚类时看到三种不同类型的颜色,具体取决于聚类在一起的数量。
问题:我想将规则从基于数量更改为该区域的案件严重程度,它也体现在我使用的自定义图标中。我使用的类型是绿色表示运行良好的产品,黄色表示警告,红色表示不良产品。
如果某处有坏产品,我希望能够在集群图标上看到红色,而不是基于数字..
我使用带有剃须刀的 ASP.NET MVC3 - 这可能会有所帮助。
各位大佬能做到吗?
您需要更改计算器功能:
var mc = new MarkerClusterer(map);
mc.setCalculator(
function(markers, numStyles) {
return {text: markers.length, index: 8};
}
);
该函数获取标记列表并应返回一对:文本标签和颜色编号。
让我们假设:
markerIcons
var markerIcons = {
'green': '...',
'yellow': '...',
'red': '...'
};
然后,您可以使用计算器功能控制显示哪些集群图标,如下所示:
var myClusterer = new MarkerClusterer(map, {
...,//options
});
mc.setCalculator(function(markers, numStyles) {
var index = 1;//green
loop:
for(var i=0; i<markers.length; i++) {
switch(markers[i].getIcon()) {
case markerIcons.yellow:
index = 2;//yellow
break;
case markerIcons.red:
index = 3;//red
break loop;
break;
}
}
var index = Math.min(index, numStyles);
return {text:markers.length, index:index};
});