大家好:我正在使用传单,尝试使用缩放方法在缩小时删除图层。
var map;
//function to instantiate the Leaflet map
function createMap(){
//create the map
map = L.map('map', {
//set geographic center
center: [41.4, -110],
//set initial zoom level
zoom: 4,
maxZoom: 8,
minZoom: 2
});
//add OSM base tilelayer
L.tileLayer('http://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png', {
//set attribute info (source)
attribution: '© <a href="http://www.openstreetmap.org /copyright">OpenStreetMap contributors</a>'
//and add it to map
}).addTo(map);
L.geoJson(worldCountries).addTo(map);
};
但是,我现在正在尝试添加一些侦听器事件,该事件将在缩放地图时删除图层。
map.on('zoomend', function () {
if (map.getZoom() > 4) {
map.removeLayer(worldCountries);
}
});
$(document).ready(createMap);
我收到错误说&#34;地图未定义。&#34;我以为我在脚本的最开始就是全局声明的?实际上,我似乎无法访问createMap函数之外的map变量,所以这似乎是问题所在。任何帮助赞赏!