Javascript 是否取消选择当前绘制的特征?
我有一个使用OL3的JS代码。我想做的是画线,然后进行捕捉和分割。到目前为止,我已经做了所有的事情,但还有一件小事。我想强调一点,这一点应该被捕捉到,或者说这条线应该被打断。但是,由于此过程在添加新行后立即完成,因此当前添加的行将保持高亮显示。我想在突出显示节点之前取消选择它 以下是我的代码片段:Javascript 是否取消选择当前绘制的特征?,javascript,select,openlayers-3,Javascript,Select,Openlayers 3,我有一个使用OL3的JS代码。我想做的是画线,然后进行捕捉和分割。到目前为止,我已经做了所有的事情,但还有一件小事。我想强调一点,这一点应该被捕捉到,或者说这条线应该被打断。但是,由于此过程在添加新行后立即完成,因此当前添加的行将保持高亮显示。我想在突出显示节点之前取消选择它 以下是我的代码片段: var addFeatureEventListener = vector2.getSource().on('addfeature', addFeatureFunction); function ad
var addFeatureEventListener = vector2.getSource().on('addfeature', addFeatureFunction);
function addFeatureFunction(e){
map.removeInteraction(lineStringdraw);
vector2.getSource().unByKey(addFeatureEventListener);
//console.info("the listener is deactivated now....");
var currentFeture = vector2.getSource().getFeatures()[vector2.getSource().getFeatures().length-1];
if(!undone){
var featureGeom = currentFeture.getGeometry();
console.info(featureGeom.getCoordinates().toString())
var endNodeCoordinates = featureGeom.getLastCoordinate();
snapIndex= endNodeCoordinates.length-1;
selectedFeatures.clear();
map.renderSync();
checkSnapping(nodes, endNodeCoordinates, currentFeture);
if(snap){
var featureCoordinates = featureGeom.getCoordinates();
featureCoordinates[featureCoordinates.length-1]= snapToNode;
featureGeom.setCoordinates(featureCoordinates);
currentFeture.setGeometry(featureGeom);
currentFeture.changed();
snap=false;
}
var isPartOf = addSegment(featureID-1);
currentFeture.getProperties().partOf[isPartOf[0]]=isPartOf[1];
drawing = false;
drawing_feature = null;
}
if (!sorting){
var newLines = checkIntersection(currentFeture);
}
map.addInteraction(lineStringdraw);
addFeatureEventListener = vector2.getSource().on('addfeature', addFeatureFunction)
}
当一个特征被添加到图层(addFeatureEventListener)中时,我不得不删除绘制交互。但这会删除该功能。是否有一种方法可以取消选择该功能
提示:要突出显示节点或线,我有一个selectFeatures,一个ol.interaction.Select()对象,我将需要的功能添加到该对象中并渲染地图