0

有没有办法可以更改应用于标记集群的样式?我知道默认值是基于集群的大小,我想改变它。

背景:我有几个颜色的计算机可用性标记,红色=离线,绿色=可用,黄色=不可用。我可以通过使用 setCalculator 函数来更改集群中的数字,并通过计算图标设置为绿色的标记数来设置数字。有没有办法做到这一点,如果集群中有这么多绿色标记,我可以这样改变集群颜色?还有一种方法可以根据缩放级别进行更改吗?

IE:默认缩放级别

if #avail < 2 => set red
if 2 < #avail < 5 => set yellow
if #avail > 5 => set green

我试过这个:

markerClusterer.setCalculator(function (markers, numStyles) {
      var index = 0;
      var count = markers.length;
    var avail = 0;
    for (var i=0;i<count;i++){
      if (markers[i].icon == "icons/available.png"){
          avail++;
        }
    }

    switch(true) {//change index based on number of available computers
        case (avail == 0)://red
            index = 3;
            break;
        case (0 < avail < 3)://yellow
            index = 2;
            break;
        case (avail >= 3)://blue/green
            index = 1;
            break;
    }
      //index = Math.min(index, numStyles);
      return {
        text: avail,
        index: index
      };
    });
4

2 回答 2

1

添加一个可以满足您需要的功能怎么样。该函数将检查该集群中绿色/彩色标记的数量以及缩放级别(if elseif 条件应该这样做),并相应地覆盖先前为集群设置的图标。您将在setCalculator(). 我不认为这会很困难,如果您有任何问题,请尝试并发布您尝试过的代码。

于 2012-11-03T05:22:21.607 回答
0

想通了我的开关坏了,黄色的逻辑搞砸了:

if(avail == 0){
   index=3;
}
if((0 < avail)&&(avail < 3)){
   index=2;
}
if(avail >= 3) {
   index=1;
}
于 2012-11-08T16:33:34.477 回答