leafletjs右键菜单

官方右键插件示例代码中是创建地图同时给入右键菜单参数。

var map = L.map('map', {
    contextmenu: true,
    contextmenuWidth: 140,
    contextmenuItems: [{
        text: 'Show coordinates',
        callback: showCoordinates
    }, {
        text: 'Center map here',
        callback: centerMap
    }, '-', {
        text: 'Zoom in',
        icon: 'images/zoom-in.png',
        callback: zoomIn
    }, {
        text: 'Zoom out',
        icon: 'images/zoom-out.png',
        callback: zoomOut
    }]
});


function showCoordinates (e) {
    alert(e.latlng);
}

function centerMap (e) {
    map.panTo(e.latlng);
}

function zoomIn (e) {
    map.zoomIn();
}

function zoomOut (e) {
    map.zoomOut();
}

我们的需求是页面存在地图对象。为地图添加右键菜单。
查看源码 右键菜单是继承于handler的
所以给出以下方案

var basemap = L.map('map', {
    center: [51.505, -0.09],
    zoom: 13
});

/*其他代码*/
/*其他代码结束*/

L.Util.setOptions(basemap,{
    contextmenu: true,
    contextmenuWidth: 140,
    contextmenuItems: [{
        text: '选取坐标',
        callback: choosepoint
    }]
});

var handler = new L.Map.ContextMenu(basemap).enable();

以上
作者网站

你可能感兴趣的:(javascript)