Ich habe im gesamten Web danach gesucht und schließlich auf artamstrong.com gefunden, wie man eine einzelne Funktion wie "mouseWheelZoom" deaktiviert.
So kann das Doppelklick-Zoomen in OpenLayers 3 deaktiviert werden:
var map = new ol.Map({
controls : ol.control.defaults()
.extend([ new ol.control.FullScreen() ]),
interactions : ol.interaction.defaults({doubleClickZoom :false}),
target : 'map',
layers : [ new ol.layer.Tile({
title : 'OpenStreetMaps',
preload : Infinity,
source : new ol.source.OSM(),
visible : true
}) ],
view : new ol.View({
center : ol.proj.transform([ 9.41, 48.82 ], 'EPSG:4326','EPSG:3857'),
zoom : 12
})
});
Es ist wirklich so einfach, sag ol3 einfach, dass "doubleClickZoom" auf false gesetzt werden soll:
interactions : ol.interaction.defaults({doubleClickZoom :false})
javascript
openlayers
zoom
Gehirn
quelle
quelle
Antworten:
Wenn Sie doubleClickZoom nach der Karteninitialisierung deaktivieren möchten, gehen Sie wie folgt vor:
Sie können auch Interaktionen wie PinchZoom, KeyboardZoom usw. entfernen oder hinzufügen. mit dem gleichen Weg.
quelle
find
anstelle vonforEach
:const dblClickInteractio = map.getInteraction().getArray().find((interaction ) => { return interaction instanceof ol.interaction.DoubleClickZoom })
find
stattdessen einen VorteilforEach
?filter
kann auch verwendet werden.Für OL 3 & 4 können Sie ol.interaction.defaults verwenden, wie in den folgenden Antworten erläutert:
https://stackoverflow.com/a/29967145/1225421
https://gis.stackexchange.com/a/195879/86845
quelle