もっと

OpenLayers-3.8.2のselectInteractionで選択する機能の選択を解除するにはどうすればよいですか?

OpenLayers-3.8.2のselectInteractionで選択する機能の選択を解除するにはどうすればよいですか?


私はOpenLayers-3.8.2を使用しています。機能を選択して削除したい。私のコードは次のとおりです。

deleteFeature = function(event){var feature = event.selected [0]; myLayer.getSource()。removeFeature(feature); } selectInteraction = new ol.interaction.Select({condition:ol.events.condition.singleClick、toggleCondition:ol.events.condition.shiftKeyOnly、layers:[myLayer]})map.addInteraction(selectInteraction); selectInteraction.on( "select"、deleteFeature、this);

このコードはソースから機能を削除しますが、それでもマップに表示されます。

機能の選択を解除するにはどうすればよいですか? または、どうすればレイヤーを再描画できますか?または、openlayers-3でfeatrueを削除するにはどうすればよいですか?


あなたが使用することができます晴れ関数。変化するdeleteFeature次のように機能します。

deleteFeature = function(event){var feature = event.selected [0]; myLayer.getSource()。removeFeature(feature); event.selected.clear(); }

ol3 3.11.2では、event.selected.clear();が存在しないため、を使用する必要がありますselectionInteraction.getFeatures()。clear();


Open Layers 5.2では、次のような機能の選択を解除できます。

deleteFeature = function(event){var feature = event.selected [0]; myLayer.getSource()。removeFeature(feature); selectInteraction.getFeatures()。remove(feature); }