更新Leaflet.heat梯度选项中的变量

时间:2018-09-15 13:42:39

标签: javascript html leaflet

我正在使用Leaflet.heat在地图上制作热图,并且正在使用html和js调整选项。例如,我制作了一个滑块以使用以下脚本调整半径

function updateRadius(value) {
  var x = Number(value);
  heat.setOptions({radius: x}).redraw();
}

function updateRadius() {
  var x = Number(document.getElementById("rad").value);
  heat.setOptions({radius: x}).redraw();
}

这两项工作。 更新渐变时,类似

function updateGradient() {
  heat.setOptions({gradient: {0.1: 'blue', 0.5: 'red'}}).redraw();
}

可行,但是我想使用滑块更改值,并使用文本输入更改颜色。我尝试过

function updateGradient() {
  var a = Number(document.getElementById("a").value);
  var b = Number(document.getElementById("b").value);
  var texta = '\'' + document.getElementById("texta").value + '\'';
  var textb = '\'' + document.getElementById("textb").value + '\'';

  heat.setOptions({gradient: {a: texta, b: textb}}).redraw();
}

和其他变体,但似乎无济于事。抱歉,如果不清楚,我真的是javascript新手

1 个答案:

答案 0 :(得分:0)

使用{[a]: texta, [b]: textb}代替{a: texta, b: textb}是可行的。