我有一张基于四个单选按钮更改图块的地图。我需要在您滚动图块时出现的弹出窗口,以便随着不同地图图层的变化而变化。我已经让它出现了,但是当我切换图层时,地图只会添加另一个弹出窗口。我尝试使用 control.removeFrom(map) 但它似乎不起作用。我想我的逻辑可能在某个地方搞砸了。这是 if 语句之一:
if (two == true && black == true) {
function blkNineStyle(feature) {
return {
fillColor: getColor(feature.properties.pctBlack9000),
weight: 2,
opacity: 1,
color: '#666',
dashArray: '2',
fillOpacity: 0.9
};
}
//Tried to us this to take off the control.
info.removeFrom(map);
map.removeLayer(geojson);
geojson = L.geoJson(tracts, {style: blkNineStyle, onEachFeature: onEachFeature}).addTo(map);
var info = L.control();
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info');
this.update();
return this._div;
};
info.update = function (props) {
this._div.innerHTML = '<h4>Percent White population change</h4>' + (props ? '<b>' + props.name + '</b><br />' + props.pctBlack9000 + '%' : 'Hover over a tract');
};
info.addTo(map);
}
您可以在此处查看(损坏的)地图。