Google Map-API generieren.

  • Fehlermeldung bei Aufrufen einer Google Map

Kartenlösungen in Webseiten sind eine beliebte Sache. Diese Karten werden von bestimmten Dienstleistern (allen voran Google) bereitgestellt und dann aus kleinen Schnipseln (sogenannten "Tiles") zusammengesetzt. Die Karten sind dynamisch und lassen sich vergrößern, verschieben, anpassen etc.


Etliche Stacks (eigentlich fast alle mit einer Ausnahme - siehe unten) greifen auf Googles Kartendienst zurück und benötigen dazu eine Art Erlaubnis seitens Google, genutzt zu werden. Diese Erlaubnis holst du dir, indem du bei Google eine API (Application-Programming-Interface = Programmier-Schnittstelle) generierst, die dann im jeweiligen Stack eingegeben werden muss. Verzichtest du auf die API, wird keine Karte angezeigt, sondern nur eine graue Fläche mit einer Fehlermeldung. Spätestens seit dem 11.06.2018 ist das leider so.

So eine API zu erstellen ist nicht wirklich einfach - zumindest wenn man das zum ersten Mal macht. Die Google Hilfe-Seiten sind hier auch wenig hilfreich und leiten einen oft genug in die Irre oder beantworten Fragen, die kein RapidWeaver-Nutzer gestellt hat.


Google Cloud Platform

Google Maps Platform aufrufen

Als Erstes musst du die Google Maps Platform aufrufen. Du findest sie hier:

Google Maps Platform

In diesem Fenster klickst du auf "Jetzt starten":

Google Maps Platform aufrufen


Im sich öffnenden Fenster musst du "Maps" auswählen (oder optional die anderen Optionen - hier geht es aber im eine Map-API) und auf "Weiter" klicken:

Google Maps Platform aktivieren


Im nächsten Fenster musst du das vorher angelegte Projekt ("Select or create a project") auswählen und auf "Next" klicken:

Enable Google Maps Platform


Es öffnet sich ein Fenster, in welchem du die Zahlungsmodalitäten festlegen kannst bzw. wo du deine Kreditkartendaten eingeben kannst, sofern das noch nicht erfolgt ist. Wenn das bereits erfolgt ist, klickst du in diesem Fenster auf "Konto festlegen":

Abrechnungsmodalitäten für Google Maps Nutzung festlegen


Jetzt kannst du die Google Maps Platform aktivieren, es werden APIs erstellt, die im nächsten Fenster erscheinen; es sind mehrere APIs für unterschiedliche Zwecke - hier geht es nur um die Karten-API:

Google Maps Platform aktivieren


Die API-Nutzung kannst du aus Sicherheitsgründen einschränken ("To improve your app's security, restrict this key's usage in the API Console"), das kannst du aber auch später noch machen.

Du klickst auf "Done".


Google Cloud Platform Dashboard

Du rufst das Google Cloud Platform Dashboard auf:

Google Cloud Platform Dashboard


Projekt auswählen

Du hattest oben unter Punkt (3) bereits ein Projekt erstellt (wenn nicht, kannst du das im Dashboard jetzt noch machen). In der oberen Menüzeile musst du rechts neben "Google Cloud Platform" auf das vermeintliche Dropdown-Menü klicken. Es öffnet sich ein Lightbox-Fenster mit den bereits angelegten Projekten:

Übersicht der Projekte in der Google Cloud Platform


Du wählst dein Projekt aus und klickst auf "Öffnen". Optional kannst du in diesem Fenster auch ein neues Projekt anlegen (Link oben rechts), im nächsten Fenster einen beliebigen Projektnamen vergeben und auf "Erstellen" klicken.


API und Dienste

Im Menü auf der linken Seite gibt es einen Eintrag "API & Dienste" - hier gehst du in das Untermenü "Dashboard". Hier gehst du in den Menüpunkt "Anmeldedaten". Du solltest nun die vorher im ersten Schritt unter Punkt (7) erstellte API sehen. Der API wurde automatisch ein Name gegeben ("Browserschlüssel" - diesen Namen kannst du ändern):

Anmeldedaten für Google Map editieren


Das eventuell auftauchende kleine gelbe Warnsymbol zeigt dir, dass die Nutzung der API noch nicht eingeschränkt wurde. Den Zugriff auf die API solltest du tatsächlich beschränken: Fällt der API Key in falsche Hände, kann die nächste Kreditkartenabrechnung im astronomischen Bereich liegen. Wenn noch keine API erstellt worden ist, klickst du auf "Anmeldedaten erstellen". 

Unter "Anwendungseinschränkungen" legst du also unter "HTTP-Verweis-URLs (Websites)" fest, dass nur API-Aufrufe von deiner Webseite aus erlaubt sind. Machst du das nicht, kann deine API von unterschiedlichen Quellen aus genutzt werden - und das kann, wie schon angedeutet, teuer werden.


Nutzung der API in Map Stacks

Die API kopierst du und kannst sie in den entsprechenden Karten-Stacks nutzen.

Ältere Stacks, die auf Google Maps zurückgreifen und bei denen du noch keine API eingeben konntest, funktionieren übrigens nicht mehr.


Datenschutzprobleme

Google verdient mit den Map-APIs Geld, das ist auch das gute Recht von Google. Einmal lässt sich Google die Klicks bezahlen (ca. 275,00 €, entsprechend 25.000 Klicks hast du frei), dann aber greift Google aber auch Nutzerdaten ab und hier entsteht ein datenschutzrechtliches Problem, denn im Gegensatz zum Seitentracking über Google lässt sich der Zugriff auf die Karten nicht anonymisieren.

Wenn du Google Maps auf einer Webseite nutzt, solltest du auf jeden Fall einen Hinweis dazu in der Datenschutzerklärung einfügen. Laut DSGVO müssen Besucher über Verbindungen zu Drittanbietern informiert werden - Google ist ein Drittanbieter. Zudem dürfen externe Dienste, wie auch Google Maps, erst geladen werden, wenn der Benutzer seine Zustimmung erteilt hat - d.h. dass Cookies erst dann gesetzt werden dürfen, wenn der Seitenbesucher seine Erlaubnis dazu erteilt hat, dafür musst du dir eine passende Lösung einfallen lassen.

Noch etwas: Wenn du (und das dürfte auf die Mehrzahl der RapidWeaver-Projekte zutreffen) im Bereich unter 25.000 Klicks bleiben, ist die Nutzung der API kostenlos. Trotzdem musst du deine Kreditkarten-Daten hinterlegen und Google hat wieder ein bisschen mehr Informationen über dich.


Weitere Informationen

Weiterführende Informationen findest du hier:

Google: Leitfaden für bestehende Nutzer

Google: Preisliste

Get an API Key


Alternative

Ich verzichte aus oben beschriebenen Problemen - sowohl was die Datenschutzproblematik wie auch die Komplexität der API-Einbindung angeht und soweit das möglich ist und der Kunde nicht auf eine Einbindung einer Google-Map besteht (das hat bislang noch niemand, wenn ich ihn auf die datenschutzrechtliche Problematik hingewiesen habe), auf die Einbindung von Google Maps und benutze lieber einen Stack, der u.a. auf das Open Source-Projekt Open Street Map zurückgreift:

OpenStreetMap Stack

Dieser Stack ist datenschutzrechtlich unbedenklich, da keine Nutzerdaten an Dritte geschaufelt werden und du kannst ihn umfassend konfigurieren. Ich kann seine Verwendung und den Verzicht auf Google Maps nur empfehlen.