OL3 clear pointerMove
by Jonatas Walker
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.js"></script>
<div id="map" class="map"></div>
JavaScript
var map = new ol.Map({
target: 'map',
controls: [],
layers: [new ol.layer.Tile({source: new ol.source.OSM()})],
view: new ol.View({
center : ol.proj.transform([ -87.07, 20.63 ], 'EPSG:4326', 'EPSG:3857'),
zoom : 17})});
window.loadFeatures = function(response) {
formatWFS = new ol.format.WFS({
featureNS: 'http://argeomatica.com',
featureType: 'playa_sample'
}),
vectorSource.addFeatures(formatWFS.readFeatures(response));
};
var vectorSource = new ol.source.Vector({
loader: function(extent, resolution, projection) {
$.ajax('http://geoserver-dbauszus.rhcloud.com/wfs',{
type: 'GET',
data: {
service: 'WFS',
version: '1.1.0',
request: 'GetFeature',
typename: 'playa_sample',
srsname: 'EPSG:3857',
//cql_filter: "property='Value'",
//cql_filter: "BBOX(geometry," + extent.join(',') + ")",
bbox: extent.join(',') + ',EPSG:3857'
},
}).done(loadFeatures);
},
strategy: ol.loadingstrategy.tile(new ol.tilegrid.XYZ({
maxZoom: 19
})),
});
var layerVector = new ol.layer.Vector({
source: vectorSource
});
map.addLayer(layerVector);
var selectPointerMove_Highlight = new ol.interaction.Select({
condition: ol.events.condition.pointerMove
});
map.addInteraction(selectPointerMove_Highlight);
var selectClick_Delete = new ol.interaction.Select({
condition: ol.events.condition.click
});
map.addInteraction(selectClick_Delete);
selectClick_Delete.on('select', function(e) {
var collection = e.target.getFeatures(),
feature = collection.item(0);
console.info(feature.getGeometryName());
vectorSource.removeFeature(feature);
map.removeInteraction(selectPointerMove_Highlight);
collection.clear();
});
vectorSource.on('removefeature', function(){
console.info('removefeature');
map.addInteraction(selectPointerMove_Highlight);
});