UPDATE:
(, ) . , :
contextmenu.on('open', function(evt){
var feature = map.forEachFeatureAtPixel(evt.pixel, function(ft, l){
return ft;
});
if (feature && feature.get('type') == 'removable') {
contextmenu.clear();
removeMarkerItem.data = {
marker: feature
};
contextmenu.push(removeMarkerItem);
} else {
contextmenu.clear();
contextmenu.extend(contextmenu_items);
contextmenu.extend(contextmenu.getDefaultItems());
}
});
http://jsfiddle.net/jonataswalker/ooxs1w5d/
Custom Context Menu Openlayers 3. > . Leaflet. ol.control.Control, , :
var contextmenu = new ContextMenu();
map.addControl(contextmenu);
( ):
var contextmenu = new ContextMenu({
width: 170,
default_items: true,
items: [
{
text: 'Center map here',
callback: center
},
{
text: 'Add a Marker',
icon: 'img/marker.png',
callback: marker
},
'-'
]
});
map.addControl(contextmenu);
-.
.