</table><p> <font size=+1 face=arial,helvetica><b>Query Map Examples</b></font> <p> <table cellpadding="3" cellspacing="0" border="0"> <tr> <td><img border="2" src="[img]"></td> <td><img border="2" src="/cgi-bin/mapserver/mapserv? map=[map]&queryfile=/usr/local/httpd/htdocs/mapserver/tmp/DEMO [id].qy[get_layers]&mode=map&size=200+200"></td> </tr> |
<tr> <th align="center">standard querymap</th> <th align="center">cached query</th> </tr> </table> </body> </html> |
Abschließend muß nun noch die demo.map modifiziert werden. So werden dem ,,Layer Road die Namen der neu erzeugten Templatedateien hinzugefügt, die Zeile TOLERANCE 3 gibt an, daß der User bis zu drei Pixel daneben klicken kann, und trotzdem die gewünschte Information angezeigt bekommt.
LAYER NAME road TYPE LINE STATUS ON DATA roadsl CLASS NAME "Road" TEMPLATE "streetspy.html" COLOR 255 0 0 END HEADER "streetspyheader.html" FOOTER "streetspyfooter.html" TOLERANCE 3 END # Layer |
Um die Übersichtskarten in der Abfrageseite generieren zu können,
werden ihre Ausmaße durch folgende Zeilen festgelegt, die
beispielsweise in dem Abschnitt ``# Start of web interface definition
gespeichert werden kann. Die Zeile COLOR 255 255 0 beschreibt
die Farbe des ausgewählten Objektes in der Übersichtskarte, diese sollte sich von der eigentlichen Darstellungsfarbe des ``Layers roads
unterscheiden. Die Größe der Fenster kann durch die Zeile
SIZE 200 200 gesteuert werden.
QUERYMAP SIZE 200 200 STATUS ON STYLE HILITE COLOR 0 0 255 END |
Nachdem MapServer neu in einem Webbrowser gestartet wurde, kann eine
Abfrage durch Auswählen des Knopfes Query feature und
anschließendem Mausklick auf ein entsprechendes Objekt im
Kartenfenster von MapServer ausgelöst werden. Im besprochenen Fall
können also die drei ausgewählten Einträge angezeigt werden,
wenn man die gewünschte Straße in einem Abstand von höchstens drei
Pixeln anklickt. Die erzeugte Webseite sollte ähnlich der folgenden
sein (Abb. 13.8).
Die so erstellten Seiten können natürlich mit allen Möglichkeiten,
die HTML, Java(-skript) und PHP bieten, weiter ausgebaut werden. Auch sind die
Möglichkeiten von MapServer hier nur ansatzweise benutzt worden,
wie man an den am Anfang angegebenen Beispielen sieht. Ausgehend von
dem hier besprochenen Beispiel können die vielfältigsten Anwendungen
erstellt werden. Auf der MapServer - Homepage finden sich eine Vielzahl
von Beispielen und Dokumentationen.