Salut à tous
J'aimerai pouvoir récupérer le niveau de zoom ainsi que les coordonnées du centre de la carte affichée et ceci après une action de zoom ou de recherche.
Une idée ?
Salut à tous
J'aimerai pouvoir récupérer le niveau de zoom ainsi que les coordonnées du centre de la carte affichée et ceci après une action de zoom ou de recherche.
Une idée ?
Bonjour saxrub,
Pour ta solution, il te faut la détection d'un event (zoom ou déplacement de la carte)
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 map.on('moveend', function(e) { var zoomInfo = map.getView().getZoom(); //valeur de zoom var zoomInfo = map.getView().getCenter(); //coordonnées du centre de la carte var mapExtent = map.getView().calculateExtent(map.getSize()); Coordonnées de ta carte (bas Gauche, Haut droit) }
Tu peux voir ces fonctions OpenLayers ici
un exemple de code pour l'event 'moveend' ici
J'espère que ça répond à ta question.
Xav
Trop fort
Dans le même style, comment intercepter :
- L'activation/désactivation d'une couche dans le LayerSwitcher ?
- Le changement d'ordre des couche (drag-drop avec la poignée) ?
Hello,
Là, ça commence à êtrre plus compliqué, c'est pas vraiment prévu à ma connaissance dans extension OpenLayers.
Pas d'event qui est capable de récupérer des évènements dans LayerSwitcher (couche : activée et non activée)
Le seul moyen que j'avais trouvé, c'était de mettre un détecteur d'évènement en jquery.
Regarde cette exemple de brouillon sur lequel j'avais travaillé.
Il y a un évènement jquery sur le input (ligne 298)
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //Détection d'évènement dans LayerSwitcher par jquery $(idSwitcher+" .GPlayerBasicTools input").on("click", function(e){ console.log("event dans layerswitcher"); });
J'avais également ajouté un index sur la ligne de la couche pour me repérer plus facilement. (ligne 271)
Exemple de test
Pour la détection du drag&drop, tu dois également pouvoir pareil en jquery.
L'autre solution est de ne pas utiliser le 'layerswitcher' de l'extension et de le faire soi-même.
Boulot important, mais ça peut-être plus joli et plus convivial.
Je te laisse expérimenter déjà ça.
Xav
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager