Javascript 传单显示鼠标悬停时弹出的位置

Javascript 传单显示鼠标悬停时弹出的位置,javascript,popup,leaflet,Javascript,Popup,Leaflet,我正在使用传单在地图上显示我的几何位置。现在,弹出窗口工作得很好,但是当你悬停在它们上面时,弹出窗口的位置在行/字符串的中间,而不是在鼠标的位置。是否可以将其更改为鼠标的位置,以便地图不会突然移动到其他位置 我用于在传单中打开弹出窗口的代码如下: function addPopup(feature, layer) { var popupContent = feature.properties.name; layer.bindPopup(popupContent); la

我正在使用传单在地图上显示我的几何位置。现在,弹出窗口工作得很好,但是当你悬停在它们上面时,弹出窗口的位置在行/字符串的中间,而不是在鼠标的位置。是否可以将其更改为鼠标的位置,以便地图不会突然移动到其他位置

我用于在传单中打开弹出窗口的代码如下:

function addPopup(feature, layer) {
    var popupContent = feature.properties.name;
    layer.bindPopup(popupContent);

    layer.on('mouseover', function (e) {
        this.openPopup();
    });
    layer.on('mouseout', function (e) {
        this.closePopup();
    });
}

您可以将鼠标点转换为latlng并在那里设置弹出窗口

layer.on('mouseover', function (e) {
        var p = L.point([e.originalEvent.clientX,e.originalEvent.clientY])
        var latlng = mymap.containerPointToLatLng(p);
        this.openPopup(latlng)
    });
layer.on('mousemove', function(e){
    var p = L.point([e.originalEvent.clientX,e.originalEvent.clientY])
        var latlng = mymap.containerPointToLatLng(p);
        this.openPopup(latlng)
})
    layer.on('mouseout', function (e) {


@Falke Design指出可以为openPopup函数提供latlng坐标后,我制作了一个更简洁的代码版本:

function addPopup(feature, layer) {
    var popupContent = feature.properties.name;
    layer.bindPopup(popupContent);

    layer.on('mouseover', function (e) {
        this.openPopup(e.latlng);
    });
    layer.on('mouseout', function (e) {
        this.closePopup();
    });
}

弹出窗口上有一个
offset
选项,可能有助于您使用传单工具提示。看见