Quelqu'un sait-il comment supprimer le panoramique lorsque vous cliquez et faites glisser sur le dessus d'une zone de div intégrée dans la carte elle-même?
Par exemple ici , lorsque vous cliquez sur la légende et que vous la faites glisser au-dessus de la légende, la carte traîne avec vous. Je veux supprimer cette fonction. Je sais si cette technique, mais je veux savoir si c'est la seule façon:
map.dragging.disable();
Réponses:
En utilisant l'exemple du site Web de Leaflet, notez où l'
L.Control
objet est instancié commeinfo
; il s'agit de la<div>
boîte en haut à droite associée à l'interaction de survol de la carte. Voici où il est défini dansindex.html
l'exemple Leaflet:Pour désactiver le glissement lorsque le curseur d'un utilisateur est à l' intérieur de cette
<div>
boîte , ajouter un écouteur d'événement auHTMLElement
(un<div>
élément) qui contient l'L.Control
objet:Rappel qui a
map
été définiL.Map
précédemment comme l' instance.la source
leaflet-control
élément est contenu par l'leaflet-container
élément et ce dernier reçoit les événements de pointeur qui déclenchent le zoom et le panoramique.<div>
intérêt est un enfantleaflet-control
dont lui-même est à l'intérieurleaflet-container
. Les événements sont reçus par le parent (leaflet-container
) avant l'enfant (leaflet-control
).Une autre solution consiste à arrêter la propagation des événements avec JavaScript (comme c'est le cas pour les contrôles Leaflet, par exemple les boutons de zoom):
la source