OpenStreetMap in Joomla Beitrag einbinden

Übersicht

OpenStreetMap ist eine freie Geodaten-Software, mit der man, ähnlich wie mit GoogleMaps, Karten erstellen und über diese navigieren kann. Ich stand schon vor einiger Zeit vor dem Problem, eine OpenStreetMap-basierte Karte in eine Joomla-Seite einzubauen. Damals bin ich diversen Tutorials gefolgt. Das Ergebnis war eine eher unschöne Lösung mit viel Javascript Code, Null Konfigurierbarkeit und eine Einbindung über einen Iframe. Da ich damals noch mit Joomla-Version 1.5 unterwegs war, blieb mir auch nicht viel anderes übrig.

Nach der Migration auf Joomla 2.5 stolperte ich allerdings über ein Modul namens OSModul. Wie man diese Modul nutzt, möchte ich im folgenden Blog-Post beschreiben.

Installation und Konfiguration

Die Installation des Moduls erfolgt, wie bei allen anderen Komponenten auch, einfach über den Extension-Manager von Joomla. Interessanter ist die Konfiguration, die man unter „Extensions -> Module-Manager“ vornehmen kann.

01

An dieser Stelle kann man erst einmal Standard-Parameter einfügen. Die meisten werden hier sicherlich den Titel ändern oder sogar ganz verbergen. Bei der Position kann man dem Modul eine entsprechend vorhandene Template-Position verpassen oder eine nicht vorhandene Position, um das Modul später per {loadposition imaginärerpositionsname} in einen Beitrag einzufügen.

02

In diesem Bild wird es schon wichtiger. Die Standardhöhe der Karte ist 200px. Das wird in den meisten Fällen nicht ausreichen. Man kann zwischen verschiedenen Zoom-Stufen und Styles auswählen. Wer die keinen Powered by-Layer auf der Karte haben möchte, kann ihn hier bequem ausschalten. Außerdem ist hier die erste Marker-Position einstellbar, nach der die Karte ausgerichtet wird.

03

Wer sich auf einem Marker einen Popup-Text anzeigen lassen will, kann das im nächsten Reiter tun. Es stehen verschiedene Modi zur Verfügung. Wichtig zu wissen ist, dass nur ein Popup gleichzeitig geöffnet sein kann.

04

Im nächsten Reiter kann man anschließend den Popup-Text festlegen, der (in meinem Fall) beim Klick auf einen Marker angezeigt werden soll. Wie man sieht, stehen einem hier umfangreiche Formatierungsmöglichkeiten zur Verfügung.

05

Wesentlich interessanter ist aber, wie man weitere Marker in die Karte einfügt. Das ist leider nicht mehr ganz so bequem. Ein Blick in die Doku schafft jedoch Abhilfe.

Die Syntax ist immer die gleiche. Man gibt eine beliebigen Namen für den Pin an, anschließend die Koordinaten, die man sich leicht auf der OpenStreetMap-Webseite besorgen kann, dann einen eventuellen Custom Marker-Style (in meinem Fall leer) und schließlich einen Namen für das Popup und die entsprechende Aufruffunktion (in meinem Fall click).

Weiter unten ,im Feld Popups, werden schließlich die Popup-Inhalte eingefügt. Hier kann man beliebigen HTML-Code einfügen. Man muss sich lediglich an die oben festgelegten Popup-Namen halten.

Wichtig: Nicht vergessen, das OSModul auch zu aktivieren!

07

Noch ein Tipp: Wenn man eine mehrsprachige Seite nutzt, sollte die Sprache in den OSModul-Settings auf Alle gestellt werden.

08

Ein bisschen weiter unten kann man schließlich noch einstellen, auf welchen Seiten (Menüpunkten) das Modul angezeigt werden soll.

Modul in einen Beitrag einfügen

Wie fügt man nun ein solches Modul in einen Joomla Beitrag ein?

06

Es gibt dazu zwei Möglichkeiten: loadposition und loadmodule. Die entsprechende Syntax findet man unter „Extensions -> Plugin-Manager ->Content – Load Modules“. Dieses Plugin muss zwingend aktiviert sein.

Ich habe die loadmodule Variante genutzt, da loadposition bei mir zwar lokal, nicht jedoch auf dem Webserver funktionierte. Bisher konnte ich nicht herausfinden, warum. Nutzt man loadmodule, muss man in den Settings des OSModuls auch keine Position angeben.

Die Syntax für loadmodule: {loadmodule modulname, modultitel, style(optional)}

Mögliche Probleme:

Ich hatte bei meinen lokalen Tests auf einem frisch installierten Joomla eigentlich überhaupt keine Probleme mit dem Einfügen der Komponente. In genau den gleichen Schritten funktionierte es anschließend auch auf dem Webserver, allerdings nur, bis ich den Titel der Komponente änderte. Von da an wollte die loadposition Variante bei mir in Beiträgen nicht mehr erscheinen.

Ich stieg also auf loadmodule um, bei dem es essenziell ist, den Modulnamen mit anzugeben. Andernfalls bekam ich zwar eine Karte, allerdings wurden die Modulsettings nicht aus der Joomla-Datenbank gelesen. Warum weiß ich nicht. Außerdem musste ich einen Text vor loadmodule hinzufügen (in diesem Fall „Eine kleine Karte“). Sonst wird auch hier nichts angezeigt. Das Anzeigen des Moduls als Modul in einer Modulposition funktioniert allerdings tadellos. Irgendetwas mag also mit meinem Joomla im Argen liegen.

Fazit:

OSModul ist eine schöne Komponente, die (nach einigen Schwierigkeiten) das tut, was sie soll. Es wäre noch ganz schön, wenn man zusätzliche Marker auch in einem Text-Editor bearbeiten könnte, statt alles selbst schreiben zu müssen. Vielleicht in einer künftigen Version. 🙂

Advertisements
Dieser Beitrag wurde unter Informatik veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu “OpenStreetMap in Joomla Beitrag einbinden

  1. Vielen Dank für die schöne Schritt für Schritt Anleitung. Ohne diese Anleitung hätte ich es als DAU nicht hinbekommen. Merci!

    Das sollte eigentlich in die Dokumentation des OSModul.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s