Je poursuis sur la question du PanPanel qui se déplace. Cela n'a rien à voir avec le navigateur, mais avec la taille de la fenêtre ouverte. Dans ton code, tu as défini le placement de ce panel en coordonnées absolues depuis le coin supérieur gauche de la fenêtre cartographique. Mais dans le même temps, la dimension de ta fenêtre cartographique s'adapte à la largeur de ta fenêtre (ce qui est très bien en soi). Résultat: tu as entré des coordonnées absolues pour le positionnement de ton PanPanel dnas un certaine configuration de fenêtre, mais dès que tu affiches la carte dans nue fenêtre plus large ou moins large, le positionnement absolu du PanPanen ne change pas alors que le positionnement du cartouche d'outils lui s'adapte pour rester collé au bord droit. D'où le problème constaté.
C'est ce que je disais déjà dans un message précédent, là où l'on parlait de la vue plein écran :
Le contrôle de PanPanel dont la position a été défini par rapport au coin supérieur gauche risque de sortir du cartouche outils qui lui reste collé à droite. Dans ce cas, la valeur de position devra être calculée de façon dynamique par rapport au bord droit de la fenêtre. On calculera donc dans un premier temps la position en X du panel en fonction de taille de la fenêtre cartographique et du décalage par rapport au bord droit (puisque le cartouche outils reste lui invariant par rapport au bord droit). Par exemple, si la position d'origine du PanPanel correspond à 55px par rapport au bord droit et 80px par rapport au bord supérieur, on va désormais le définir comme suit :
1 2 3
| // Ajout d'un contrôle OpenLayers de déplacement par flèches avec positionnement absolu dans le cartouche d'outils
var panPanelX = document.getElementById("DivCarte").clientWidth - 60;
viewer.getMap().addControl(new Geoportal.Control.PanPanel(), new OpenLayers.Pixel(panPanelX,80)); |
De cette manière, quelle que soit la taille de la fenêtre, le panPanel sera toujours bien placé dans le cartouche!
Attention, c'est quelque chose qu'il faut avoir en tête pour tous les éléments positionnés de façon absolu dans la fenêtre cartographique alors que leur positionnement est relatif au bord droit ou inférieur de la fenêtre.
Partager