我有mapbox和tilemill图层问题:
在这里查看我的代码: http://bl.ocks.org/marishaf/3cc9bfbeb412c1120e93
图层按钮总是看起来它们处于“活动”模式,尽管它们仍然可以加载和卸载图层。
每个图层的图例加载(公共土地和分区图层都存在图例),但是如果您同时加载这两个图层然后尝试删除这两个图层,则图例会在加载的第一个图层中保留。
图例仍然存在工具提示。例如,如果首先加载带有图例的图层(仅在按此顺序加载图层时),然后加载带有工具提示的图层(例如点源污染)并将鼠标悬停在某个点上,以便调用工具提示然后尝试使用图例删除图层,图例仍然存在。
答案 0 :(得分:0)
段:
link.href = '#';
// remove line that was here
link.innerHTML = name;
link.onclick = function(e) {
e.preventDefault();
e.stopPropagation();
if (map.hasLayer(layer)) {
map.removeLayer(layer);
map.removeLayer(gridlayer);
// you had "thelayer", but it should be "layer":
map.legendControl.removeLegend(layer.getTileJSON().legend);
// change two lines that were here to the following:
this.className = '';
} else {
map.addLayer(layer);
map.addLayer(gridlayer);
this.className = 'active';
map.legendControl.addLegend(layer.getTileJSON().legend);
}
thelayer = layer;
};
对于凌乱的解释感到抱歉,但你一次又问了两个问题,这是我能想到的最干净的答案。