#1 Tue 17 January 2017 08:23
- nima ninette
- Participant assidu
- Date d'inscription: 18 May 2016
- Messages: 187
problème de Control.Panel /openlayers
Bonjour, j'ai essayé d'afficher la barre d'outils (Control.Panel) en utilisant openlayers2, le problème c'est que la barre est toujours activée, le zoom etc,,, svp comment la désactiver? c'est a dire quand je clique sur le zoom s'active et quand je termine et je le clique pour la deuxieme fois se désactive? Merci
j'ai fait un capture d'écran.
Hors ligne
#2 Sun 22 January 2017 08:20
- nima ninette
- Participant assidu
- Date d'inscription: 18 May 2016
- Messages: 187
Re: problème de Control.Panel /openlayers
s'il vous plait, y'a pas d'idée.
Hors ligne
#3 Wed 01 February 2017 14:08
- Nekultra
- Participant occasionnel
- Lieu: France
- Date d'inscription: 21 Oct 2013
- Messages: 18
Re: problème de Control.Panel /openlayers
Dans la documentation OpenLayers 2, tu as deux méthodes (fonctions) disponibles pour activer / désactiver l'objet OpenLayers.Control.Panel.
Il y a d'autres fonctions et l'utilisation reste identique aux autre objets OpenLayers du type :
=> ma_couche.removeAllFeatures() ou bien map.addLayer()
Ici ce sera donc quelque chose du genre :
- mon_panel.Activate() pour activer le container
- mon_panel.deactivate() pour désactiver le container
Essai / regarde les autres fonctions pour utiliser celles qui te conviennent, notamment pour jouer avec les controls dans ton container (le panel). En effet, le control.panel n'est autre qu'une fenêtre qui contient des objets et ces objets sont des controls comme le zoom, le PAN pour bouger la carte ou encore le control draw pour dessiner. Chacun de ses controls a également ses propres fonctions pour être désactiver ou désactiver selon des événements comme la fin d'un dessin, l'appui sur une touche du clavier, le double clic ou un simple clic.
Encore une fois des tas d'exmples en OpenLayers 2 te sont disponibles pour t'inspirer du code.
Lien de la doc : http://dev.openlayers.org/docs/files/Op … el-js.html
Exemple concret de fonction :
// fonction pour désactiver un control
// appelée par l'évènement "click" d'un bouton par exemple
// Paramètre : "control" peux être l'appel d'un control par son ID ou le control
fonction controlMnager (control) {
if ( control.activate){
control.deactivate() // je désactive le control au clic sur le bouton si il est déja activé
} else {
control.activate() // j'active le control au clic sur le bouton ou le control
}
}
// pour ajouter un event, regarde la méthode addEventListener() en javascript
monobjet.addEventListener()
Exemple simple en openLayers 2
http://dev.openlayers.org/examples/click.html
Dernière modification par Nekultra (Wed 01 February 2017 14:15)
Hors ligne