javascript - 如何使用传单 map.on ('click',函数)事件处理程序将标记添加到 map

标签 javascript event-handling leaflet

我正在尝试使用事件处理程序向 map 添加标记。我可以使用回调函数来管理它,但是当我将函数与事件处理程序分开时就不行了。

回调(http://fiddle.jshell.net/rhewitt/U6Gaa/7/):

map.on('click', function(e){
    var marker = new L.marker(e.latlng).addTo(map);
});

单独的函数(http://jsfiddle.net/rhewitt/U6Gaa/6/):
function newMarker(e){
    var marker = new L.marker(e.latlng).addTo(map);
}

最佳答案

在您的 fiddle 代码中,您的函数在错误的范围内。尝试在 map 函数内而不是在它自己的范围内移动函数......即,而不是:

});

function addMarker(e){
// Add marker to map at click location; add popup window
var newMarker = new L.marker(e.latlng).addTo(map);
}

利用
function addMarker(e){
// Add marker to map at click location; add popup window
var newMarker = new L.marker(e.latlng).addTo(map);
}
});

关于javascript - 如何使用传单 map.on ('click',函数)事件处理程序将标记添加到 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388288/

相关文章:

传单 - Fitbounds 并保持中心位置

javascript - leaflet.js 标记未显示

javascript - webgl 读取像素未返回正确的值

javascript - 多选元素 - onchange

javascript - 单个页面上的多个倒计时

javascript - 启用和禁用 onkeydown 事件?

javascript - 捕获所有 `a` 点击,包括动态添加的点击

javascript - jQuery 滚动条插件

javascript - 从父脚本访问预加载的图像以在子脚本中使用。如何?

reactjs - 如何获取 React 组件的所有已注册合成事件处理程序/监听器的列表?