Skip to content

Geotag-Plugin für Serendipity überarbeitet

Das Geotag-Plugin für Serendipity zeichnet Blogartikel auf Landkarten unterhalb des Beitrags oder in der Seitenleiste ein. Beim Verfassen kann ein Blogger einen Artikel mit den Geo-Koordinaten seines Aufenthaltsortes versehen (so genanntes Geotaggen). Diese Position wird anschließend auf einer kleinen Karte angezeigt. Nützlich ist diese Funktion ist beispielsweise für Reiseblogs.

Weniger Fehler, mehr Funktionen

Leider hatte das Plugin zuletzt einige Bugs, die zum Teil aus Schnittstellenänderungen von Google Maps resultierten. Grischa hat sich das Plugin vorgenommen und vorgestern eine neue Version eingecheckt, die die meisten Bugs behebt und sogar tolle neue Features mitbringt.

Allerdings berichtete Grischa von Problemen mit der Kartendarstellung in der Seitenleiste. In den Kommentaren zu seinem Artikel kam außerdem der Wunsch auf, neben Google Maps auch Karten von Openstreetmap einzubinden. Zum einen unterliegen letztere einer Creative Commons-Lizenz, zum anderen hat Google vor kurzem Zugriffsbeschränkungen für seine Kartenschnittstelle eingeführt. Leichtfertig kommentierte ich, dass ich mir das ja mal ansehen könnte. Als passionierter Openstreetmapper und Geocacher liegt mir das Thema eben am Herzen ;-)

Gesagt, getan. Der Aufwand war allerdings größer, als ich erwartet hatte. Zum einen lief das Plugin noch mit dem Google Map Javascript API in Version 2, die aber schon sein 1,5 Jahren als deprecated eingestuft ist und in absehbarer Zeit abgeschaltet werden wird; also habe ich den Code auf Version 3 umgestellt. Zum anderen habe ich Openstreetmap mithilfe der OpenLayers-Bibliothek eingebunden, die nicht gerade simpel zu benutzen ist. Sie ist andererseits zwar sehr mächtig, aber ich habe für das Plugin nur einen kleinen Teil ihrer Fähigkeiten benötigt. Doch nun ist es geschafft: Meine aktualisierte Version 1.26 habe ich gerade hochgeladen, sie dürfte in Kürze für alle verfügbar sein.

Screenshot der Google Map in der Seitenleiste
Google Map mit zwei Markierungen …
Screenshot der Google Map mit Satellitenbild in der Seitenleiste
… und im Satelliten-Modus …
Screenshot der Openstreetmap in der Seitenleiste
… oder als Openstreetmap

Installation und Update

Das Plugin kann wie in Serendipity üblich mittels Spartacus installiert und aktualisiert werden. Zu beachten ist, dass sowohl ein Ereignis-Plugin (serendipity_event_geotag) als auch ein Seitenleisten-Plugin (serendipity_plugin_geotag) installiert werden kann. Das Ereignis-Plugin ist die Voraussetzung dafür, dass Artikel geotagged werden können und sollte deshalb immer zuerst installiert werden. Das Seitenleisten-Plugin kann zusätzlich installiert werden und visualisiert dann die Geo-Koordinaten der einzelnen Artikel auf einer Übersichtskarte in der Seitenleiste.

Wichtig:Wer schon eine bisherige Version des Seitenleisten-Plugins im Einsatz hat und weiter die Karte von Google Maps einbinden möchte, muss seinen API-Key für die neue Version 3 des Google Maps Javascript API freischalten. Wie das geht, ist hier auf Englisch beschrieben. Für Rückmeldungen, Fragen oder bei Problemen stehe ich über die Kommentare unterhalb dieses Artikels, im Serendipity Forum und auf Twitter zur Verfügung. Grischa, der vermutlich schon wieder an weiteren Funktionen programmiert, hilft bestimmt auch gern ;-)

Mit Openstreetmap in die Zukunft

Natürlich gibt es mit LeafletJS eine sehr elegante Möglichkeit, eine Karte mit Markierungen einzubinden. Ich habe das u.a. im Wiki unserer PHPUG genutzt. Allerdings ist LeafletJS nicht über ein CDN einbindbar wie etwa die Bibliotheken von Google und JQuery. Daher habe ich zunächst einmal darauf verzichtet, das Plugin mit zusätzlichen Dateien zu "belasten". Vermutlich wird LeafletJS aber irgendwann kommen.

Trackbacks

Grischa am : Das Geotag Plugin, der dritte Streich

Vorschau anzeigen
Matthias Gutjahr hat am Freitag das Seitenleisten Plugin des S9Y GeoTag Plugins überarbeitet. Es funktioniert nun mit der neuen Google Maps API. Alternativ kann man ab jetzt aber auch Openstreetmap benutzen, welches ohne einen API Key und Limits ausk

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Konrad Bauckmeier am :

Konrad Bauckmeier

Danke für die Arbeit an dem Plugin! Ein guter Freund von mir hat für mein Blog im Frühjahr schon ziemlich heftige Vorarbeit geleistet. Schade, dass dir meine Seite http://www.dd4kids.de/pages/karte.html nicht bekannt war, vielleicht hättest du sonst einiges davon wiederverwerten können...

Meine Kartenlösung beruht derzeit noch auf einem technischen Umweg, wo ein Python-Script per Cron-Job die Geodaten ausliest und aufbereitet. Das ist auch der Grund, warum die Lösung noch nicht generell für S9Y verfügbar ist. Leider gehen meine Programmier-Kenntnisse nicht weit genug und als ich die Lösung mal im Forum vorgestellt hatte, war niemand interessiert.

Grischa am :

Grischa

Da dass Trackback offenbar nicht geklappt hat, hier auch noch mal: Danke für die Zusammenarbeit an dem Plugin! Hat echt Laune gemacht. :-)

Henning Halfpap am :

Henning Halfpap

Hi, erstmal vielen Dank für das tolle Plugin - ich habe es per Spartacus installiert und finde es ganz große Klasse!

Ich habe allerdings ein kleines Problem - vermutlich habe ich irgendetwas falsch konfiguriert, habe aber keine Ahnung, was: folgendes Problem: Im Seitenleisten-Plugin kann man ja beim Klick auf die Marken direkt zu den damit verbundenen Artikeln springen - ich habe es auf dieser Seite auch probiert, funktioniert einwandfrei.

Bei meinem Blog kommen aber die URLs durcheinander: beim klick auf die Marken fehlt der String "index.php?/" nach dem Pfadnamen /s9y/. Ich habe gesehen, daß hier die URLs ein noch anderes Format haben, kann ich das irgendwo einstellen?

Ich benutze S9Y noch nicht so lange und kenne mich daher noch nicht so gut in der Konfiguration aus - vermutlich 'ne ganz einfache Geschichte, die ich übersehen habe.

Dankeschön für jeden Tipp, gerne auch als Link zu einem M, das ich dann RTF kann ;-)

LG

Henning

Matthias Gutjahr am :

Matthias Gutjahr

Hallo Henning, am besten wäre es vermutlich, wenn du dein Problem im Serendipity-Forum (board.s9y.org) schilderst, dann erfährt es die nötige Aufmerksamkeit ;-) Offenbar werden die Permalinks zu deinen Einträgen nicht richtig erzeugt, was mit Konfigurationseinstellungen der Permalink-Struktur zu tun haben kann. Ggf. hilft uns ein Screenshot dieser Einstellungen weiter, den du an deinen Forumspost anhängen könntest.

Henning Halfpap am :

Henning Halfpap

Hallo, Matthias,

vielen Dank für den Tip, werde ich gleich umsetzen - ich bin gerade etwas im Streß, deswegen dauert's etwas, bis ich reagiere...

LG

Henning

Henning Halfpap am :

Henning Halfpap

Nachtrag: ich hab die Lösung gefunden - der Verweis auf's Forum war wie immer Gold Wert, das Stichwort "PermaLink" auch. Lösung des Problems: URL Rewrite einschalten. Ich sag ja, es war 'ne Kleinigkeit. ;-)

Danke nochmal für die Hilfe!

LG

Henning

Matthias Gutjahr am :

Matthias Gutjahr

Hallo Henning, freut mich, dass dein Problem behoben ist. Ich habe mir dein Blog gerade mal angesehen, funktioniert jetzt wunderbar :-)

Reinhard am :

Reinhard

Hallo, habe das Plugin am WE auf urluabsfoto.org eingebunden. Auch das nachträgliche zuordnen der Koordinaten ging mit dem Plugin wirklich sehr einfach. Beim Ergänzen der Einträge fiel mir auf, das ich häufig unterschiedliche Zoom-Level vermisst habe. Schön wäre es, wenn man diesen für jeden Eintrag übergeben könnte.

Unabhängig davon eine super Sache

Grüße Reinhard

Kommentar schreiben

Markdown-Formatierung erlaubt
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!