Migration

Migration von Mapbox Geocoding

Mapbox Geocoding liefert Ergebnisse als GeoJSON-FeatureCollection. Das ist eine bewusste Entscheidung, die es leicht macht, die Ausgabe direkt an Mapbox GL oder eine andere GeoJSON-fähige Kartenbibliothek zu übergeben. Jedes Feature enthält ein center-Koordinatenpaar, einen place_name-String und ein context-Array, das die übergeordnete Region, das Land und die Postleitzahl beschreibt. Die Authentifizierung erfolgt über ein Access Token, meist als Query-Parameter übergeben, und viele Teams verwenden dasselbe Token sowohl für ihre Web-Kartenkacheln als auch für ihre Geokodierungsaufrufe.

Diese doppelte Verwendung eines Tokens sollten Sie vor einer Migration beachten, denn sie bedeutet, dass der Geokodierungsaufruf und der Aufruf zum Rendern der Karte im Anwendungscode oft stärker miteinander verflochten sind, als es zunächst scheint. Beide sauber zu trennen, sodass die Geokodierungsanfrage auf einen neuen Host zeigen kann, während die Kartenkacheln bleiben, wo sie sind, ist meist die erste echte Entscheidung.

Der Mapbox-Kompatibilitäts-Host von My Geocode bildet die FeatureCollection-Struktur einschließlich der Felder center, place_name und context nach, sodass Code, der auf response.features[0].center aufbaut, nach dem Wechsel weiter funktioniert. Nur die Texte zu Urheberrecht, Nutzungsbedingungen und Datenschutz in der Antwort unterscheiden sich von denen von Mapbox. Die Feldreferenz finden Sie unter /compatibility/mapbox/.

Einige praktische Hinweise für Teams, die diesen Umstieg planen:

  • Wenn Ihr Frontend Mapbox Geocoding direkt aus clientseitigem JavaScript aufruft, lohnt es sich unabhängig vom künftigen Anbieter, diesen Aufruf zunächst auf einen serverseitigen Proxy zu verlagern, da so API-Schlüssel aus dem Browser-Code herausgehalten werden
  • Die Authentifizierung akzeptiert einen X-API-Key-Header, einen Authorization: Bearer-Header, HTTP Basic Auth oder einen Query-Parameter, sodass sich die Art, wie Ihr bestehender Mapbox-Client sein Access Token sendet, auf eine dieser Varianten abbilden lassen sollte
  • Wenn Sie die Proximity- oder Bounding-Box-Parameter von Mapbox nutzen, um Ergebnisse auf eine Region zu gewichten, prüfen Sie in der Dokumentation des Kompatibilitäts-Hosts die entsprechenden Parameternamen, bevor Sie davon ausgehen, dass sie unverändert übernommen werden

Die Preisgestaltung verzichtet auf die Token-Stufenstruktur, die bei vielen Kartenplattformen mit den Nutzungsstufen wächst. Hier sind 2.500 Anfragen pro Tag ganz ohne Schlüssel kostenlos, und jeder Schlüssel bringt zusätzlich eigene 2.500 kostenlose Anfragen pro Tag mit, gezählt pro Netzwerk. Danach gibt es Prepaid-Guthaben zu 0,0001 € pro Anfrage oder einen Unlimited-Schlüssel zu 50 € pro Monat, und jeder Endpunkt, einschließlich dieses Kompatibilitäts-Hosts, kostet gleich viel.

Da Mapbox häufig zusammen mit Kartenkacheln und statischen Kartenbildern genutzt wird und nicht nur für die Geokodierung, sollte der Umfang klar sein: My Geocode ist eine API für Geokodierung, IP-, Zeitzonen-, Höhen- und Postleitzahlabfragen, kein Anbieter von Kacheln oder Basiskarten. Teams, die ihr bestehendes Karten-Rendering behalten und nur die Adressabfrage auf einen neuen Host verlagern, sollten damit rechnen, eine Zeit lang zwei Anbieter parallel zu betreiben, einen für Kacheln und einen für die Geokodierung. Das ist eine normale und stabile Art, die Arbeit aufzuteilen, und kein Übergangszustand, den man schnell hinter sich bringen muss.