banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

Pied de page des forums

Powered by FluxBB