如何用小叶glify设置颜色

时间:2017-10-28 22:06:48

标签: colors leaflet

我正在使用Leaflet的glify插件,并且不能为我的生活找出如何将我的点的颜色设置为函数。

这很好用:

L.glify.points({
  data: data,
  map: map,
  opacity: 1,
  size: 10,
  color: 'red',

然而,这会返回所有黑点:

L.glify.points({
  data: data,
  map: map,
  opacity: 1,
  size: 10,
  color: function(){
    if ( 1 > 0 ){ return 'red';}else{return 'blue';}
  },

有谁知道我需要在这做什么?

2 个答案:

答案 0 :(得分:0)

想通了,需要格式化如下:

color: function(){
    if (1 > 0){
      return {
          r: 0,
          g: .51,
          b: .1
        };
    }else{
      return {
          r: 30,
          g: 1,
          b: 2
        };
    }
  },

答案 1 :(得分:0)

您需要使用以下函数将十六进制颜色代码转换为 rgb 形式

function fromHex(hex) {
    if (hex.length < 6) return null;
    hex = hex.toLowerCase();

    if (hex[0] === '#') {
        hex = hex.substring(1, hex.length);
    }

    var r = parseInt(hex[0] + hex[1], 16),
    g = parseInt(hex[2] + hex[3], 16),
    b = parseInt(hex[4] + hex[5], 16);
    return {
        r: r / 255,
        g: g / 255,
        b: b / 255
    };
}

然后像这样返回:

L.glify.points({
  data: data,
  map: map,
  opacity: 1,
  size: 10,
  color: function(){
    if ( 1 > 0 ){ 
        return fromHex("#FF0000");
    }else{
        return fromHex("#0000FF");
    }
  }
});