I am trying to upgrade my system from Openlayers 2 to Openlayers 3 and I have having one particular issue that I cannot seem to figure out.
My application has a grid and a map and when a user clicks on the grid I want to select the relevant point on the map.
In Openlayers 2 I used the following:
self.selectControl.select(feature[0]);
I cannot find or understand how to do the same in Openlayers 3.
So to be clear, I have a feature which I have found programmatically and I want to select that feature on a map (programmatically)!
I cannot seem to find anything in the APIs but that might be due to my lack of understanding as I am new to Openlayers.
To do this you need to do the following:
mySelectControl.getFeatures().clear() -> removes the selected items
mySelectControl.getFeatures().push(featureToSelect) -> selects the applied feature
var selectInteraction = new ol.interaction.Select(});
map.addInteraction(selectInteraction);
function highlightFeature(feat){
selectInteraction.getFeatures().push(feat);
selectInteraction.dispatchEvent({
type: 'select',
selected: [feat],
deselected: []
});
}
works like a char on latest openlayers 4.5
Add a select interaction to your map.
var selectInteraction = new ol.interaction.Select(); map.addInteraction(selectInteraction);
Add any features you want to select to the select interaction's feature array.
selectInteractions.getFeatures().push(featureToSelect);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.