2

我的传单地图目前完全位于透明画布元素后面,因此它永远不会直接注册用户的鼠标事件。因此,我需要以编程方式将鼠标事件注册到传单中。

如果我在我的应用程序中运行快速入门教程代码,AKA:

  <div id="backgroundMap"></div>
    <script>
$("#backgroundMap").css("width",$(window).width()).css("height",$(window).height());
        var map = L.map('backgroundMap').setView([51.505, -0.09], 13);

        L.tileLayer('http://{s}.tile.cloudmade.com/API-Key/997/256/{z}/{x}/{y}.png', {
            attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
            maxZoom: 18
        }).addTo(map);

        map.on('click', onMapClick);
    </script>

我需要鼠标事件在 div backgroundMap, AKA 中注册$('#backgroundMap').click(...)吗?还是应该在其他地方注册?

或者,在传单方面,我应该做一些完全不同的事情吗?

4

1 回答 1

1

您想触发 Leaflet 中的单击/拖动/等事件以及这些事件的任何侦听器吗?或者您只是想以编程方式移动地图?

如果您想要后者,在如何更改传单中的地图中心有多种答案。

这是您真正想要的命令,在此答案中提到:

map.panTo(new L.LatLng(40.737, -73.923));
于 2013-08-30T08:55:44.297 回答