我想在我的 geojson 图层上为各种元素右键单击添加一个上下文菜单(我正在做一个路线图,所以在我想显示上下文菜单的任何部分右键单击道路)。
通过使用 onEachFeature 并执行以下操作,我设法使左键单击正常
function onEachFeature(feature, layer) {
layer.on({
click: showAssetInfo,
contextmenu: contextreg
});
}
function showAssetInfo(e) {
AssetMouseClick(e.target.feature.properties.objectid, e.latlng);
}
我有以下内容可以在准备好的文档上调用(jquery)
$.contextMenu({
selector: 'path.leaflet-clickable',
zIndex: 99999,
callback: function (key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
},
items: {
"edit": { name: "Edit", icon: "edit" },
"cut": { name: "Cut", icon: "cut" },
"copy": { name: "Copy", icon: "copy" },
"paste": { name: "Paste", icon: "paste" },
"delete": { name: "Delete", icon: "delete" },
"sep1": "---------",
"quit": { name: "Quit", icon: "quit" }
}
});
我已经对其进行了测试,并且选择器确实返回了 GeoJson 功能,如果它将相同的菜单附加到其他东西上,它也可以正常工作。
我在这里缺少什么吗?
还有一种好方法可以在启动时将objectid传递给菜单,这样我就可以在调用菜单的不同选项时使用它
编辑:
我创建了这个小提琴来演示http://jsfiddle.net/Q3L4c/22/