AW: [SPAM] AW: [Mapbender-users] Anpassung der Kartengröße an die Fenstergröße

Fischer, Andreas andreas.fischer at kreis-unna.de
Fri Jun 2 03:12:28 EDT 2006


Hallo zusammen,
yes it is, Till! 
Tatsächlich habe ich einige Erweiterungen vorgenommen, die in diese Richtung
gehen. Damit ist es nun möglich dynamische GUIs zu bauen, die automatische
Größenanpassungen des 'mapframe1' und gegebenenfalls weiterer GUI-Elemente
in Abhängigkeit der Fenstergröße zulassen. 
Die wesentlichen Schritte sind:
1. Für die Anwendung wird ein eigenes Ausführungsfenster ohne Scrollbalken
geöffnet und mit screen.availWidth und screen.availHeight auf die maximale
Größe des Benutzerbildschirmes eingestellt.
2. Für das GUI-Element 'mapframe1' werden beim Starten der Anwendung die
Eigenschaften width und height nun nicht mit den Datenbankeinträgen belegt,
sondern dynamisch berechnet. Dies erfordert eine geringfügige Anpassung des
Codes in 'mod_map1.php'. Die Anpassung ist in einer Bedingung
eingeschlossen, so dass der neue Code nur ausgeführt wird, wenn eine eigens
dafür eingerichtete SessionVariabel auf true gesetzt ist. Diese
SessionVariabel wird in der Datei 'index.php' per default auf 'false'
gesetzt und nur für dynamische Oberflächen geändert. Damit können dynamische
und statische GUIs nebeneinander betrieben werden. Selbst die gleiche GUI
kann dynamisch oder statisch genutzt werden. 
3. Damit andere GUI-Elemente (treeGDE, buttons etc.) an der Größe und
Position des 'mapframe1' ausgerichtet werden können, wird auch für diese
GUI-Elemente eine dynamische Positions- und gegebenenfals auch eine
Größenbestimmung (z.B. height von treeGDE) durchgeführt, nachdem die Größe
des 'mapframe1' gesetzt ist.
4. Dem EventHandler 'window.onresize' wird eine Funktion zugeordnet, die die
Größenanpassung des 'mapframe1' und die Positions- und Größenanpassungen der
davon abhängigen GUI-Elemente mit jeder interaktiven Änderung der Größe des
Ausführungsfensters durchführt. Diese Funktion führt auch zu einem erneuten
Laden der eingebundenen WMS, sobald die Fenstergröße geändert worden ist.
5. Neben den Änderungen an den Dateien 'mod_map1.php' und 'index.php' werden
die zusätzlich benötigten Funktionen und Konfigurationsparameter durch
Verweise auf entsprechende Dateien in den Feldern 'JavaScript' (Funktionen)
und 'Modul' (Konfigurationsdatei) des body-Elements der dynamischen GUI
integriert. Zusätzlich sind im Datenfeld Styles des body-Elementes für die
Eigenschaften width und heigth jeweils 100% anzugeben.

Damit werden mit nur einer GUI die verschiedenen Bildschirmgrößen und
Auflösungen (bei uns im Intranet) dahingehend unterstützt, dass die
Anwendung den Bilschirm voll ausnutzt und damit dem User ein möglichst
großes Kartenfenster sowie möglichst viel Raum für Themenbaum und Legende
anbietet. Im Intranet der Kreisverwaltung sind im Übrigen merkliche
Performanzeinbußen auch bei sehr hohen Bildschirmauflösungen und ensprechend
großen Kartenbildern nicht festzustellen. Soweit funktioniert alles prima -
... im Intranet! 
Allerdings, und nun kommt der Haken, sind die ganzen Entwicklungen (vorerst
nur) auf den IE abgestellt, weil eben nur dieser bei uns im Intranet
eingesetzt wird. :-) Umfangreiche Tests mit anderen Browsern habe ich noch
nicht durchgeführt, stehen aber wohl bald an, weil in Kürze die Anwendung
auch im Internet laufen soll.  Zu dieser Einschränkung kommt hinzu, dass
leider so gut wie nichts dokumentiert ist. Die bisher "umfangreichste"
Dokumentation steht jetzt oben.
Bei Bedarf stelle ich den Code aber gerne zur Verfügung. 

Gruß
Andreas Fischer

Kreis Unna
Dezernat II - Projektteam GIS
Platanenallee 16
59425 Unna

(02303) 27-2507
andreas.fischer at kreis-unna.de



-----Ursprüngliche Nachricht-----
Von: Heuser, Bjoern [mailto:Bjoern.Heuser at sag.de]
Gesendet: Mittwoch, 31. Mai 2006 15:36
An: users at mapbender.osgeo.org
Betreff: [SPAM] AW: [Mapbender-users] Anpassung der Kartengröße an die
Fenstergröße



Hallo Antje,

zunächst müsstest Du die Breite des Browsers mittels screen.width auslesen.
Dann den Position des Mapframes ermitteln (z.B. absolute Position) und dem
Frame die breite (screen.width - x Koordinate des oberen linken Punktes des
Frames) geben. 

Wird aber nicht So einfach werden dies zum einen Browser unabhängig zu
gestallten und auch noch auf das Verkleinern der Browser zu reagieren
(Neuladen aller WMS Dienste, erneutes ermitteln der Browser Breite etc.).
Zudem sind die einzelnen Mapbender Module sehr Variabel in Bezug auf die
Grafische Anordnung und es ist nicht sichergestellt, dass der MapFrame diese
nicht überdeckt.

Sollte jemand aber bereits ein Script hierzu haben, währe ich auch
interessiert.

Grüße

Björn

--------------------------------------------------------------------

Björn Heuser

SAG Energieversorgungslösungen GmbH

Center für GeoInformationsTechnologie, CeGIT

Westfalendamm 100

44141 Dortmund

M +49 173/677 19 11

E-Mail: bjoern.heuser at sag.de

Internet: www.cegit.com, www.sag.de

--------------------------------------------------------------------


-----Ursprüngliche Nachricht-----
Von: Antje Jacobs [mailto:AntjeJacobs at web.de] 
Gesendet: Mittwoch, 31. Mai 2006 15:17
An: users at mapbender.osgeo.org
Betreff: [Mapbender-users] Anpassung der Kartengröße an die Fenstergröße

Hallo, 

ich habe eine Frage: Kennt jemand vielleicht eine Funktion mit der sich die
Kartengröße dynamisch an die Fenstergröße anpasst? Oder hat jemand mal was
in die Richtung gemacht?
Es wäre ja super, wenn der Kartenframe den leeren Platz in einer Anwendung
einnehmen könnte!?

Viele Grüße und vielen Dank, 
Antje Jacobs

______________________________________________________________________
XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club!

Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
For additional commands, e-mail: users-help at mapbender.osgeo.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
For additional commands, e-mail: users-help at mapbender.osgeo.org




More information about the Mapbender_users mailing list