#1 Wed 24 June 2009 10:15
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
[OpenLayers] Gérer deux panels dans OL
Bonjour à tous,
J'aimerais savoir comment gérer deux panels différents dans une interface OL notamment gérer leur position et leur disposition.
Donc j'ai crée deux panels pour me faire deux barres d'outils personnalisée mais en fait dans le CSS, je ne sais pas comment différencier les deux pour les placer différemment (cad que pour le moment les deux panels sont l'un sur l'autre).
Voila ce que j'ai en CSS :
Code:
.olControlPanel { right: 0px; height: 30px; width: 50px; }
Mais ce code s'applique à tous les panels crées dans le Javascript.
J'ai donc deux variables panel1 et panel2 et j'ai essayé de mettre .olControlPanel .panel1 pour paramétrer uniquement le panel1 mais sans succès, et de toute façon je ne crois pas qu'on puisse donner de nom à un panel.
Donc comment faire ?
Merci
Hors ligne
#2 Wed 24 June 2009 10:33
Re: [OpenLayers] Gérer deux panels dans OL
Bonjour,
Les deux panels doivent avoir un identifiant différent pour leur appliqué une position différente. Par exemple si panel1 est cet identifiant, le code js sera le suivant :
Code:
#panel1 { right: 0px; height: 30px; width: 50px; }
Pour trouver l'identifiant du panel, tu peux te servir de firebug.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Wed 24 June 2009 10:41
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
Re: [OpenLayers] Gérer deux panels dans OL
Ok,
J'ai donc trouvé l'id du panel1 qui est en fait OpenLayers.Control.Panel_69 mais si je mets :
Code:
#OpenLayers.Control.Panel_69 { right: 100px; height: 30px; width: 50px; }
rien ne change.
Est-ce normal ?
Hors ligne
#4 Thu 25 June 2009 15:49
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
Re: [OpenLayers] Gérer deux panels dans OL
Alors je suis enfin arrivé à gérer mes panels à force de tester.
Finalement, j'ai mis chacun de mes panel dans une div à l'extérieur de la carte donc :
Code:
var panel = new OpenLayers.Control.Panel({div: document.getElementById("panel")});
Et ensuite, y'a plus qu'à paramétrer dans le CSS :
Code:
#panel { position:absolute; left: 500px; width: 24px; height: 22px; }
Voilà, bon j'avais déjà testé d'utiliser cette méthode (assez évidente en fait) avant de demander l'aide du forum mais j'avais eu des soucis. Et puis à force de tester, c'est passé.
Hors ligne