OpenLayers, par défaut, effectue un zoom avant lorsqu'un utilisateur clique deux fois sur une carte.OpenLayers: désactive le zoom en double-cliquant sur
Quel est le meilleur moyen de désactiver ce comportement?
OpenLayers, par défaut, effectue un zoom avant lorsqu'un utilisateur clique deux fois sur une carte.OpenLayers: désactive le zoom en double-cliquant sur
Quel est le meilleur moyen de désactiver ce comportement?
Le zoom sur double-clic fonctionnalité est apparemment une fonctionnalité dans le contrôle OpenLayers.Control.Navigation
. Voir le OpenLayers Reference pour plus d'informations.
Un petit exemple très fatigué:
var Navigation = new OpenLayers.Control.Navigation({
defaultDblClick: function(event) { return; }
});
Je me souviens que le de navigation contrôle est automatiquement ajouté à la carte si aucun contrôle sont définis lors de l'initialisation de la carte. Vous devrez donc peut-être ajouter le contrôle de navigation.
it helps =)
La réponse ci-dessus est correcte, mais vous devez ajouter explicitement ce contrôle à la carte pour remplacer la valeur par défaut de contrôle de navigation, par exemple,
var Navigation = new OpenLayers.Control.Navigation({
defaultDblClick: function(event) { return; }
});
map.addControl(Navigation);
Les commandes suivantes sont ajoutés par défaut à un OpenLayers.Map: OpenLayers.Control.Navigation, OpenLayers.Control.PanZoom, OpenLayers.Control.ArgParser, OpenLayers.Control.Attribution
Une autre option si vous souhaitez désactiver tous ces comportements par défaut consiste à envoyer un tableau vide dans le paramètre options du constructeur de mappes de couches ouvertes, voir link text pour plus de détails.
Documentation OpenLayers 3 Link.
manière statique:
var map = new ol.Map({
interactions: ol.interaction.defaults({ doubleClickZoom: false }),
...
});
façon dynamique:
var interactions = map.getInteractions();
for (var i = 0; i < interactions.getLength(); i++) {
var interaction = interactions.item(i);
if (interaction instanceof ol.interaction.DoubleClickZoom) {
map.removeInteraction(interaction);
break;
}
}
Comment cela peut-il être fait dans OpenLayers 3? – Brain