javascript - 在缩放级别自动切换底图?
问题描述
我正在尝试使传单根据缩放级别更改底图。我正在尝试什么:(我是编码新手)我收到一条错误声明:
SyntaxError: missing ) 在参数列表之后
我确实检查了几次语法,但找不到错误。
我还想知道是否有更优雅的方式来编写它,而不是那种双重 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");
}
推荐阅读
- android - Livedata导致recyclerview更新导致edittext焦点丢失
- kubernetes - Kubernetes 暴露不适用于文件
- c# - 与具有额外数据的实施者的公共接口?
- keras - 有状态与无状态 LSTM
- tableau-api - Tableau 计算字段,具有特定条件
- python - 熊猫正则表达式提取物为 re.search 提供不同的输出?
- html - A transparent image I'm linking to isn't transparent when being displayed
- java - 序言中不允许使用 Android Studio 项目内容
- vb.net - 暂停子程序直到按下按钮??VB.net
- javascript - Android 4.4 Webview Uncaught ReferenceError: Map is not defined。如何在 vue cli 上配置 Babel 以支持 Chrome 30 及更高版本?