我对此很陌生,我已经尝试了几个小时来发现我的代码到底出了什么问题,我得到了‘未定义的ReferenceError: ctlSideBar未定义’的错误
<body>
<div id="side-bar" class="col-md-12"></div>
<div id="mapdiv" class="col-md-11"></div>
<script>
var mymap;
var backgroundlayer;
var ctlEasybutton;
var ctlSideBar;
$(document).ready(function(){
mymap = L.map('mapdiv')
mymap.setView([-15.6019, -56.0996],11);
backgroundLayer = L.tileLayer('https://tile.thunderforest.com/pioneer/{z}/{x}/{y}.png?apikey=547983c172f24d96bd50e5de88061f50');
mymap.addLayer(backgroundLayer);
ctlSideBar = L.control.sidebar('side-bar').addTo(mymap);
ctlEasybutton = L.easyButton('glyphicon-tasks', function(){
ctlSidebar.toggle();
}).addTo(mymap);
});
</script>
</body>发布于 2022-09-20 07:17:14
按钮处理程序代码中有一个错误:ctrlSidebar vs ctrlSideBar --注意小写的b。
另外,在两个传单-侧边栏插件:传单-侧边栏和传单-侧边栏-v2之间可能有混淆。从发布的代码中,不可能知道您使用的是哪个版本。我想是第二个。传单-侧边栏-v2没有toggle()方法,因此您必须使用close()。
试一试,让我知道它是否有效:
$(document).ready(function(){
// [...]
ctlEasybutton = L.easyButton('glyphicon-tasks', function(){
ctlSideBar.close();
}).addTo(mymap);
});https://stackoverflow.com/questions/73750003
复制相似问题