Tyler DeWitt
Tyler DeWitt

Reputation: 23576

OpenLayers 3 Disable Multi-Select

Is there a way to have a selectInteraction in OpenLayers 3 that only allows one feature to be selected at a time?

Upvotes: 5

Views: 2375

Answers (3)

Ludvik Brodl
Ludvik Brodl

Reputation: 11

For OpenLayers4 this can easily be done by combining conditions.

For example a condition that only selects on singleClick and not when shiftKey is pressed:

const select = new Select({
  condition: (mapBrowserEvent) => {
    return singleClick(mapBrowserEvent) && !shiftKeyOnly(mapBrowserEvent)},
  layers: [layer]
});

Find more conditions in the API doc: http://openlayers.org/en/latest/apidoc/module-ol_events_condition.html

Upvotes: 1

Paul
Paul

Reputation: 141

define select interaction as follow:

select = new ol.interaction.Select (
    toggleCondition: ol.events.condition.never
)

Upvotes: 14

Thomas Gratier
Thomas Gratier

Reputation: 2371

Not really sure I understood well.

If you go to the API doc for OpenLayers 3.4 and untick Stable Only on the page top right, you will see a multi option to manage this. Normally, according to the doc, what you are asking is already by default.

Multi A boolean that determines if the default behaviour should select only single features or all (overlapping) features at the clicked map position. Default is false i.e single select

Upvotes: 2

Related Questions