我正在尝试根据缩放级别更改传单的底图。我正在尝试:(我是编码新手)我收到错误提示:
SyntaxError:缺少)参数列表后
我几次检查语法,但是找不到错误。
我还想知道是否有一种更优雅的编写方式,而不是双重if-else语句。
map.addEventListener("zoomend", changeBasemap);
function changeBasemap() {
var zoomLevel = map.getZoom();
if (zoomLevel < 5) {
if (map.hasLayer(osm)) {
map.removeLayer(osm);
stamen_Watercolor.addTo(map);
} else {
console.log(no need to change basemap)
}
} else {
if (map.hasLayer(stamen_Watercolor)) {
map.removeLayer(stamen_Watercolor);
osm.addTo(map);
} else {
console.log(no need to change basemap);
}
}
}
错误是因为您忘记了引号:
console.log(no need to change basemap);
更正为:
console.log("no need to change basemap");
这是关于您的代码看起来更干净的建议:
function changeBasemap()
{
if ( map.getZoom() < 5 && map.hasLayer(osm) ) {
map.removeLayer(osm);
stamen_Watercolor.addTo(map);
return;
}
if ( map.getZoom() > 4 && map.hasLayer(stamen_Watercolor) ) {
map.removeLayer(stamen_Watercolor);
osm.addTo(map);
return;
}
console.log("no need to change basemap");
}