Kartenspiele im Browser

GeoExt mobile – Karten-Web-Apps mit nativem Look and Feel
Kommentare

Spätestens seit der Einführung von Google Maps im Jahr 2005 sind interaktive Karten im Internet sehr populär geworden. Was vorher nur in Spezialanwendungen verfügbar war, erreicht seit einigen Jahren eine breite Öffentlichkeit. Doch es muss nicht immer Google Maps sein!

Karten- und Ortungsdienste sind populär- zudem wird eine interaktive Karte oft als Zusatzanwendung in eine bestehende Webseite integriert, denn die Möglichkeit, scheinbar alles auf einer Karte zu verorten oder auch Objekte nach räumlichen Kriterien auszuwählen, bietet einen echten Mehrwert. Interaktive Karten, die in einer Internetanwendung verfügbar gemacht werden, werden im Fachjargon als „Web Mapping“ oder auch „Web GIS“ bezeichnet. Durch die Entwicklung und Verbreitung von Smartphones werden Webseiten zunehmend auch mobil aufgerufen. Dadurch ergeben sich auch für webbasierte Kartenanwendungen neue Anwendungsfelder. Insbesondere durch die Möglichkeit, sich selbst z. B. über ein GPS verorten zu können, gewinnt Web GIS eine neue Qualität. Damit ist die Voraussetzung geschaffen, im Raum auf Karten und Geodaten zuzugreifen und gleichzeitig diesen Raum auf den eigenen, aktuellen Standort einzugrenzen. Die Frage nach „Was befindet sich im Umkreis von .?“ wird so zu „Was befindet sich im Umkreis von meinem aktuellen Standort?“. Um diese neuen Anwendungsfelder bedienen zu können, wurde die freie Web-Mapping-Bibliothek GeoExt Mobile (GXM) speziell für Browser auf Smartphones entwickelt. Dieser Artikel beschreibt die Web-Mapping-Bibliothek GeoExt Mobile oder kurz GXM aus technischer Sicht. GXM setzt auf verschiedene JavaScript-Frameworks auf und bietet die Möglichkeit, mobile Web-Mapping-Anwendungen aufzubauen, die mehr können als die meist nativ installierte Google-Maps-App.

Was ist GXM und warum existiert es?

GeoExt Mobile ist eine JavaScript-Bibliothek, die es erlaubt, interaktive Kartenanwendungen optimiert für die meistgenutzte App auf jedem Smartphone zu entwickeln: den Browser. Dabei setzt GXM selber auf die JavaScript-Bibliotheken Sencha Touch [1] und OpenLayers [2] auf.

Abb. 1: Im mobilen Web GIS der swisstopo wird GXM verwendet

Im Rahmen der Arbeiten für swisstopo sollten folgende Komponenten entwickelt werden (Abb. 1):

  • Eine Open-Source-Basisbibliothek analog zu Geoext [3] (GXM)
  • Ein swisstopo-internes API, um zum Beispiel auf eigene Daten zugreifen zu können
  • Ein mobiler Client aufbauend auf GXM und dem vorgenannten API, der neben der Karte auch andere Elemente, wie ein Feedbackformular oder eine Sprachauswahl enthält

Es sollte also von Beginn an keine reine Projektlösung entwickelt werden. Die Anforderung, zunächst eine Basisbibliothek zu entwickeln, war auch der Tatsache geschuldet, dass keine entsprechende Software zur Verfügung stand und sich die neue Bibliothek GXM API-seitig eng an die bestehende, für normale Browser ausgelegte Anwendung, anlehnen sollte. Diese basiert technisch ebenfalls auf OpenLayers sowie auf GeoExt, welches die Basisbibliothek ExtJS [4] integriert. GXM – in der derzeitigen Version 0.1 – unterstützt aktuell die WebKit-basierten Browser der Betriebssysteme von iPhone und iPad, Android-Phones sowie von BlackBerry ab der Version 6. Diese Restriktion ergibt sich aus der Verwendung von Sencha Touch. Laut mehreren Funden im Web können so über 90 % aller Smartphones Sencha Touch nutzen [5]. Es wurde bewusst keine übliche App entwickelt. Der große Vorteil einer browserbasierten Anwendung ist die größere Unabhängigkeit von Betriebssystem und Hardware, denn es müssen nicht mehrere Anwendungen erzeugt und gepflegt werden. Das Deployment sowie Tests und der Unterhalt einer Webanwendung sind deutlich einfacher, als die Erstellung mehrerer Apps für unterschiedliche Betriebssysteme. Wir sind außerdem der Meinung, dass sich auf mobile Geräte optimierte Webseiten künftig stärker entwickeln werden. Die Bibliothek Sencha Touch hat zwar eine native Unterstützung von Google Maps, mit GXM gibt es nun eine Alternative, die dazu einige Vorteile bietet. OpenLayers bietet wesentlich mehr Schnittstellen zu diversen webbasierten Karten- und Geodatendiensten. Dazu ist OpenLayers freie Software, die Nutzung ist also nicht durch eine restriktive Lizenz eingeschränkt und im Gegensatz zum Google API kann sich dies auch künftig nicht ändern. Damit ist für die Bibliothek GXM auch eine wesentlich höhere Zukunftssicherheit gewährleistet.

Web Mapping oder Web GIS – wie funktioniert das?

Mit Web Mapping sind eigentlich zwei Komponenten in einem Wort vereint. Eine Komponente ist die Bedienoberfläche, gemeinhin auch als Client bezeichnet. Der Client umfasst alles, was der Navigation auf der Karte oder der Präsentation von Daten dient, während die Karte selber von einem oder mehreren Kartendiensten angefragt und als Bild lediglich an entsprechender Stelle „eingeblendet“ wird. Solche Kartendienste können ganz unterschiedlicher Natur sein. Die zweite Komponente ist also ein Kartenserver, der entsprechende Kartendienste zur Verfügung stellt. Diese Dienste können dabei vom einem Server, aber auch von unterschiedlichen bezogen werden, denn Kartenclients können in der Regel Kartenbilder aus unterschiedlichen Quellen übereinander darstellen. So ist es möglich, eigene Geodaten mit externen Diensten zu kombinieren.


Themen der kommenden Seiten:

  • Kartendienste
  • Das Prinzip BING/GoogleMaps
  • WebMapService – ein Standard
  • Weitere Formate
  • Open Source
  • Überblick über Open Source JavaScript Web Mapping Clients
  • OpenLayers
  • GeoExt
  • Weitere Web-Mapping-Bibliotheken
  • Die Bibliothek GXM
  • Sencha Touch
  • Komponenten von GXM
  • Anwendungsbeispiele
  • Das Geoportal des Schweizer Bundes
  • Regiofreizeit: Ein Freizeitportal
  • Ausblick
  • Mögliche Anwendungsfälle
  • Doch eine App?
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -