J'utilise openlayers 3 pour créer une application Web qui permet à l'utilisateur de dessiner des entités LineString dans la carte. c'est le code:
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({ layer: 'sat' })
});
var source = new ol.source.Vector();
var vector = new ol.layer.Vector({
name: 'my_vectorlayer',
source: source,
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: '#ffcc33',
width: 5
})
})
});
var map = new ol.Map({
layers: [raster, vector],
target: document.getElementById('map'),
view: new ol.View2D({
center: [-11000000, 4600000],
zoom: 4
})
});
var draw;
function addInteraction() {
map.removeInteraction(singleClick);
draw = new ol.interaction.Draw({
source: source,
type: ("LineString")
});
map.addInteraction(draw);
}
par le code précédent, je peux ajouter des lignes à la carte. les lignes tracées seront ajoutées au vector
calque. Je ne veux pas quand l'utilisateur sélectionne l'une des lignes qu'il dessine peut les supprimer. c'est le code de sélection de la fonctionnalité:
var singleClick = new ol.interaction.Select();
function addSelect() {
map.removeInteraction(draw);
map.addInteraction(singleClick);
}
et c'est un travail très volontaire,
Je veux juste que l'utilisateur puisse supprimer le LineString sélectionné ...