[Mapserver-DE] FeatureInfo und Select

Leonhard Dietze news at leole.de
Die Mai 25 11:43:08 CEST 2010


Hallo Herr Schmidt,

ich habe mich mit diesem Thema auch schon auseinandergesetzt gehabt
aber leider keinen passenden Quellcode zur Hand. Ich verwende so
etwas ähnliches in einem Formular in dem ich entsprechend der Auswahl
im Selektfeld (in dem z.B. nur die Überschrift/Kurzform steht) dann
das darunter liegende Formular fülle.

Aus meiner Sicht ist dafür schon relativ komplexes JavaScript nötig,
ich mache es mit objektorientiertem Javascript: Oben für jede
zurückgegebene Zeile ein neues Objekt erstellen und dann im Selekt-
Feld bei einem onSelect/onChange-Event die Felder darunter mit den
jeweiligen Details füllen.

Der Vorteil der Lösung von Herr Schulz wäre eben, dass man "nur" die
Details zu einem einzelnen Objekt über eine separate Seite abfragt,
was den JavaScript-Quellcode stark vereinfacht. Aber das hängt davon
ab, in welchen Sprachen sie fitter wären. Ansonsten würde ich glaube
ich von der von Ihnen gewünschten Lösung vom Zeitaufwand eher abraten.

Viele Grüße,
Leonhard Dietze


Am 25.05.2010 11:33, schrieb Michael Schulz:
> Hallo Herr Schmidt,
>
> ah, dann habe ich wohl die Frage etwas missverstanden. Letztendlich
> hängt das natürlich von Ihren Daten und deren Attributstruktur ab.
> Wofür möchten sie denn die Selectbox? Wenn sie eine GetfeatureInfo
> Abfrage mit dem UMN machen, dann können sie in dem Ergebnis-Template
> auf alle Attributwerte des gefundenen Objektes zugreifen (sofern die
> Werte mit wms_include_items im mapfile freigegeben sind), mit der
> gewohnten "[attribute_name]" Notation. Nur wenn sie weitere
> Informationen zu einem Objekt haben, die nicht per UMN zugänglich sind
> (also z.B. nicht in einer Tabellenspalte oder einem Attribut einer
> Shapedatei stehen), müssten sie auf den Umweg zurückgreifen, den ich
> in den letzten Mails beschrieben habe.
>
> Viele Grüße, Michael Schulz
>
> Am 25. Mai 2010 11:20 schrieb Klaus Schmidt<klaus.schmidt67 at gmx.net>:
>> Hallo Herr Schulz,
>>
>> ich möchte eigentlich eine Seite, die eine Selectbox im oberen Bereich enthält und nach Auswahl eines Objektes soll sich eine Tabelle, die sich ebenfalls im Template befindet mit den entsprechenden Daten füllen. Wie istes denn möglich, dass ich je nach Objekt die tabelle mit den zughörigen daten fülle. So, wie ich ich das sehe kann Mapserver doch gar keine Verbindung zwischen der ID und den anderen Werten feststellen, oder?
>>
>> Gruß
>> Klaus Schmidt
>>
>> -------- Original-Nachricht --------
>>> Datum: Tue, 25 May 2010 09:51:48 +0200
>>> Von: Michael Schulz<mschulz at webgis.de>
>>> An: Klaus Schmidt<klaus.schmidt67 at gmx.net>
>>> CC: mapserver-de at freegis.org
>>> Betreff: Re: [Mapserver-DE] FeatureInfo und Select
>>
>>> Hallo Herr Schmidt,
>>>
>>> sie müssen dem HTML-select Tag ein onchange attribut geben, dass z.B.
>>> eine Funktion aufruft die im Header definiert ist. Könnte evtl. so
>>> aussehen:
>>> Im header:
>>> <script type="text/javascript">
>>> function loadDetail(id) {
>>>    url = "http://meine.basisurl.de/zeige.php?id="+id; // hier die URL
>>> zusammenbauen die aufgerufen werden soll
>>>    detailWin = window.open(url, "Detail",
>>> "width=300,height=400,left=100,top=200");
>>>    detailWin.focus();
>>> }
>>> </script>
>>> </head>
>>> <body>
>>> <select
>>> onchange="loadDetail(this.options[this.selectedIndex].value);return
>>> false;">
>>>    <option value="meineObjektID123">ObjektTitel</option>
>>> </select>
>>> ...
>>>
>>> tja, ungetestet aber so ungefähr sollte es funktionieren.
>>>
>>> Viele Grüße, Michael Schulz
>>>
>>> Am 25. Mai 2010 09:25 schrieb Klaus Schmidt<klaus.schmidt67 at gmx.net>:
>>>> Hallo Herr Schulz,
>>>>
>>>> vielen Dank für Ihre Hilfe. Ich habe die Selectbox auch hinbekommen,
>>> aber leider fehlen mir die Javascript Kenntnisse für die Auswahl der
>>> weiteren Attribute. Können Sie oder jemand anderes mir da weiterhelfen?
>>>>
>>>> Vielen Dank und viele Grüße
>>>> Klaus Schmidt
>>>>
>>>> -------- Original-Nachricht --------
>>>>> Datum: Thu, 20 May 2010 10:37:48 +0200
>>>>> Von: Michael Schulz<mschulz at webgis.de>
>>>>> An: Klaus Schmidt<klaus.schmidt67 at gmx.net>
>>>>> CC: mapserver-de at freegis.org
>>>>> Betreff: Re: [Mapserver-DE] FeatureInfo und Select
>>>>
>>>>> Hallo,
>>>>>
>>>>> das sollte eigentlich machbar sein, mann muss dazu text/html als
>>>>> getfeatureinfo format auswählen und dem mapserver entsprechend
>>>>> passende query templates anlegen. die grobe Struktur könnte so
>>>>> aussehen:
>>>>>
>>>>> - header-template: kompletter Beginn des HTML-Templates, also mit
>>>>> <html><head></head><body>...<select name="meine_ergebnisse">
>>>>>
>>>>> - dann das eigentliche template (das wird ja jetzt so oft ausgegeben
>>>>> wie Ergebnisse da sind) mit folgendem Inhalt:
>>>>> <option value="[Ergebnis_id]">[Ergebnis_titel]</option>
>>>>>
>>>>> - dann footer mit:
>>>>> </select>
>>>>> </body></html>
>>>>>
>>>>> Natürlich muss noch irgendein bisschen Javascript rein um dann wenn
>>>>> man was ausgewählt hat auf die Detailseite zu springen aber das sollte
>>>>> kein Problem sein.
>>>>>
>>>>> Viele Grüße, Michael
>>>>> Am 19. Mai 2010 09:04 schrieb Klaus Schmidt<klaus.schmidt67 at gmx.net>:
>>>>>> Liebe MapServer-Liste,
>>>>>>
>>>>>> ich habe folgende Fragestellung: Ich habe einen UMN Dienst
>>> aufgesetzt,
>>>>> der einen abfragbaren Layer besitzt. Diesen Dienst habe ich im
>>> Mapbender
>>>>> eingebunden. Wenn ich eine Abfrage mache und mehrere Objekte treffe,
>>> bekomme
>>>>> ich die Ergebnisse untereinander angezeigt. Ich möchte aber die
>>> Ergebnisse
>>>>> (eine Spalte) in einer Selectbox angezeigt bekommen und nach Auswahl
>>> eines
>>>>> Objektes die zusätzlichen Werte zu diesem Objekt erhalten. Ist so
>>> etwas
>>>>> möglich?
>>>>>>
>>>>>> Viele Grüße
>>>>>> Klaus Schmidt
>>>>>> --
>>>>>> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>>>>>> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>>>>>>