传单传奇没有显示

时间:2016-07-12 13:06:29

标签: javascript leaflet legend

有人能说出代码有什么问题吗?这个传说应该是最容易出现的部分,我无法弄清楚原因。也许藏在其他一些层?

遵循getColor和图例代码

var legend = L.control({
  position: 'bottomleft'
});

legend.onAdd = function(map) {
  var div = L.DomUtil.create('div', 'info legend'),
    grades = [0.2, 0.26, 0.32, 0.38, 0.44, 0.5, 0.56, 0.62, 0.68, 0.74, 0.8, 0.86, 0.92, 0.98, 1.04, 1.1],
    labels = [],
    from, to;

  for (var i = 0; i < grades.length; i++) {
    from = grades[i];
    to = grades[i + 1];

    labels.push(
      '<i style="background:' + getColor(from + 1) + '"></i> ' +
      from + (to ? '&ndash;' + to : '+'));
  }

  div.innerHTML = labels.join('<br>');
  return div;
};

1 个答案:

答案 0 :(得分:0)

编辑以下回答评论:

使用开发人员工具(在Mac上为F12 /:Cmd + Alt + I)来读取潜在的控制台错误。

在您的情况下,getColor功能未在legend.onAdd范围内定义。

此外,您将1添加到from值,导致值范围为[1.2 - 2.1],而getColor函数使用的值介于0.26到1.1之间。

使用您的仓库中的代码进行演示:http://plnkr.co/edit/lbKlXaV76t6NclHQPCtr?p=previewgetColor已在正确的范围内复制,并已移除+1中的getColor(from + 1)

原始答案:

您是否已将自定义控件添加到地图中?

legend.addTo(map);

作为旁注,来自<i>的带有图例背景颜色的getColor标记没有任何内容。因此,您可能看不到有色内容......

演示:http://jsfiddle.net/3v7hd2vx/34/<i>标记中包含虚拟内容)