terrestris GmbH & Co. KG

GeoExt 2.0

Inhalt

Vorheriges Thema

2.1. Der Karte einen TreeView hinzufügen um die Layer zu managen

Nächstes Thema

2.3. Map-Features untersuchen mit dem WMS GetFeatureInfo Popup

2.2. Eine Legende hinzufügen

Wir haben bereits verschiedene WMS-Requests kennengelernt: WMS GetCapabilities liefert uns hilfreiche Informationen über den Service und seine Layer, WMS GetMap bringt die Bilder, die wir für unsere Kartendarstellung brauchen und nun holen wir uns mit WMS GetLegendGrahpic noch eine Legende in unsere Anwendung.

Bemerkung

Vergessen Sie nicht die benötigten Klassen hinzuzufügen...

  • ‘GeoExt.panel.Legend’,
  • ‘GeoExt.container.WmsLegend’,
  • ‘GeoExt.container.UrlLegend’,
  • ‘GeoExt.container.VectorLegend’

2.2.1. Ein LegenPanel mit WMS GetLegendGraphic-Bildern

Lassen Sie uns ein weiteres Panel zu unserem WMS-Browser hinzufügen. Für einen Legend-View bietet GeoExt GeoExt.panel.Legend. Dieses Panel verwendete die Grafik, die uns WMS GetLegendGraphic liefert.

Tasks

  1. Öffnen Sie Ihre map.html in ihrem Editor. Fügen Sie die folgende Legend-Panel-Definition hinzu:

    items.push({
        xtype: "gx_legendpanel",
        region: "east",
        width: 200,
        autoScroll: true,
        bodyPadding: 5
    });
    
  2. Laden oder aktualisieren Sie die Applikation in ihrem Browser, um das neue Legend-Panel in ihrer Anwendung zu sehen. Aktivieren Sie einen Layer, um die Legendengrafik anzeigen zu lassen (Die Legende wird nur angezeigt wenn der Layer auch sichtbar ist).

../_images/legend.png

Karteapplikation mit beschreibender Legende

2.2.1.1. Der neue Code im Detail

Was ist passiert? Wir haben eine gx_legendpanel erstellt und haben es in der east-Region plaziert. Die einzige Konfigurationsoption, die speziell für das Legend-Panel relevant ist, wäre das layerStore-Element. Da wir jedoch nur eine Karte haben, kann dieses Element vernachlässigt werden.

2.2.2. Was folgt?

Wie Sie sehen können, ist es dank Ext JS einfach einer GeoExt-Applikation neue Komponenten hinzuzufügen.

Im letzten Teil unserer Übung, schauen wir uns einen weitern Weg an, Komponenten unserer Applikation hinzuzufügen: Mit einer OpenLayers.Control, die Ext JS-Output in einer Listener-Funktion generiert. Wir werden dies mit einem GetFeatureInfo popup umsetzen.