OpenStreetMap statt Google oder Bing

Im Rahmen meiner Vorlesung zur Entwicklung von plattformneutralen Apps mit Cordova an der TH Bingen ist mir aufgefallen, dass die Verwendung des Google Map-APIs nicht mehr so funktioniert hat, wie ich es gewohnt war. Ältere, aber erprobte/getestete Codes haben einen Fehler produziert. Ich stelle den Studenten schon seit ein paar Semestern als eine mögliche Semesterarbeit eine App als Aufgabe, die unter anderem die aktuelle Position in einer Karte zeigen soll. Dabei habe ich bisher Google Maps und als Alternative Bing Maps verwendet. Die jeweiligen APIs ließen sich bisher problemlos verwenden. Nur benötigt man mittlerweile bei neuen Versionen der APIs dafür API-Keys. Die sind zwar kostenfrei zu bekommen (mit ein paar Einschränkungen hinsichtlich der erlaubten Verwendung), aber die Generierung ist dennoch mittlerweile etwas umständlich bzw. ich komme mit den unendlich vielen Details und unübersichtlichen Entwicklerwebseiten einfach nicht klar. Die speziellen Features der neuen Versionen habe ich auch bisher nicht benötigt.

Die Version 2 des Google Maps API hat aber keinen API-Key erfordert und war deshalb sowohl für meine Beispiel-Apps als auch viele Webseiten immer noch eine sehr gute Wahl. Nur das Problem in der Vorlesung beim Verwenden der alten Codes hat mich zu der Info auf den Entwicklerseiten von Google gebracht:

The Maps JavaScript API v2 is no longer available as of May 26, 2021. As a result, your site’s v2 maps will stop working, and will return JavaScript errors. To continue using maps on your site, migrate to the Maps JavaScript API v3. This guide will help you through the process.

Ganz toll – einfach die API-Version eingestellt und die bisherigen Webseiten und Apps sind an die Wand gefahren. Bei Bing Maps war es nicht besser – die alten Codes funktionieren auch nicht mehr.

Oft haben das die Betreiber von Webseiten auch gar nicht bemerkt bisher, denke ich. Gestern war ich auf einer entsprechenden Webseite eines Gleitschirmvereins, wo die Karte nicht mehr funktioniert. Klar – man kann argumentieren, dass Entwickler die Verantwortung haben, die Funktion ihrer Produkte regelmässig zu kontrollieren. Aber das ist m.E. nur die eine Seite der Medaille. Man kann auch argumentieren, dass es eine Art „Bestandschutz“ gibt. Was einmal getestet ist, sollte auf Dauer funktionieren. Da sieht man mal wieder, in welche Abhängigkeiten man sich begibt, wenn man fremde Ressourcen und Leistungen nutzt. Die aktuellen Probleme bei einigen Cloud-Anbietern passen in diese Problematik.

Und me culpa – auch auf einer meiner Seiten hatte ich eine Karte mit dem Google Maps API, die nicht mehr korrekt angezeigt wurde und was ich bisher nicht bemerkt hatte – es hatte sich bisher auch kein Besucher beschwert.

Einer meiner Studenten hatte sich vor einigen Tagen wegen dieser ganzen Umstände mit dem Google Maps bzw. Bing Maps API so geäußert, dass er auf OpenStreetMap umsteigen würde. Fand ich eine gute Idee und deshalb hatte ich schon vor ein paar Tagen damit sowie Mapbox experimentiert. Auch in Verbindung mit einer Django-Webseite, weil ich die nächsten Wochen dazu ein Videotraining bei  LinkedIn Learning einspielen will, wo ich diese Techniken in Beispielen nutzen will.

Aber erst einmal habe ich jetzt die Webseite, die ich betreue, auf OpenStreetMap umgestellt.

Die Seite arbeitet mit Joomla! und da taugt das OSModul ziemlich gut, um auf einfache Weise eine Karte von OpenStreetMap in eine Webseite zu integrieren.

 

Doppelschlag

Dieser Mittwoch bietet Anlass zur doppelten Freude :-).

  1. Mein regelmäßiger wöchentlicher Entwickler-Tipp zu Python ist da und behandelt diese Woche das Top-Level-Script-Environment. Dabei geht es darum, wie man die oberste Ebene einer Python-Anwendung zur Laufzeit identifizieren und wie man mit einigen magischen Elementen das Verhalten beim Aufruf steuern kann.
  2. Der zweite Anlass der Freude 😉 ist, das wieder einmal ein Buch bzw. Schulungsheft von mir erschienen ist. Beim Herdt-Verlag veröffentliche ich ja seit mehreren Jahren regelmäßig solche Schulungsunterlagen oder lektoriere manchmal auch fachlich andere Unterlagen. Einige Unterlagen sind dabei von Grund auf von mir, aber diverse habe ich irgendwann übernommen und aktualisiert.
    Das gerade erschienene Buch bzw. Schulungsheft zu Joomla! 4 ist so eines, was ich vor vielen Jahren (2015) schon übernommen und damals auf die Version 3 aktualisiert hatte. Nun hat sich die Entwicklung von Joomla! 4 jedoch ewig hingezogen, aber Ende August ist die neue Version endlich erschienen und wir sind damit just-in-time mit dem Buch zu Joomla! 4 auf dem Markt. Natürlich habe ich mit Vorversionen von Joomla! 4 gearbeitet, aber die waren schon so gut wie fertig und bei der Überarbeitung habe ich gegengeprüft. Genaugenomen hatte ich schon 2020 mit der Überarbeitung begonnen, weil ich mit einer Fertigstellung von Joomla! 4 in dem Jahr fest gerechnet hatte. Schon da war das Projekt weit hinter der Roadmap zurück. Aber nachdem sich die Verzögerung in der Fertigstellung nicht mehr in Tagen oder Wochen und eigentlich auch nicht Monaten, sondern eigentlich nur in Jahren spezifizieren lies, habe ich Ende 2020 die Überarbeitung erst einmal eingestellt. Zumal die Vorversion zu dem Zeitpunkt auch noch unausgereift waren, wie mir bei der Arbeit damals deutlich wurde. Diesen Sommer hatte ich aber sowohl wieder Zeit und auch die Vorversionen von Joomla! waren endlich soweit, dass das Erscheinen der Finalversion greifbar wurde. Und so sind wir wie gesagt mit dem heutigen Tag mehr oder weniger just-in-time fertig geworden :-).

Von der Hochschule ins Schreibbüro

Mein Engagement bei der TH Bingen ist für dieses Semester beendet (muss nur noch Noten eintragen und meine Abrechnung erstellen) und jetzt werde ich wieder zum Autor. Erst überarbeite ich die erste Fahne meiner Schulungsunterlagen zum neuen Joomla! 4 und dann geht es an die Aktualisierung eines meiner Bücher.