我正在使用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';}
},
有谁知道我需要在这做什么?
答案 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");
}
}
});