Migration

Von statischen Mapbox-Karten und -Kacheln wegwechseln, wenn Sie nur Geokodierung nutzen

Mapbox wird oft als Gesamtpaket eingeführt: Geokodierung, statische Kartenbilder, Vektorkacheln und die Rendering-Bibliothek Mapbox GL, alles unter einem Access Token und einem Konto. Diese Bündelung ist sinnvoll, wenn ein Projekt einen vollständigen Karten-Stack braucht, erschwert aber eine engere Migration. Ein Team, das nur seinen Geokodierungsanbieter wechseln will, stellt womöglich fest, dass sich der Geokodierungsaufruf und der Code zum Rendern der Karte Konfiguration, Tokens oder sogar dieselbe Wrapper-Funktion für Anfragen teilen.

Der erste echte Schritt bei dieser Art von Migration ist nicht technisch, sondern die Festlegung des Umfangs. Wer ausdrücklich entscheidet, dass Kartenkacheln und statische Kartenbilder bei Mapbox bleiben und nur der Geokodierungsaufruf umzieht, vermeidet einen häufigen Fehler: eine Migration mit unklarer Grenze zu beginnen und am Ende Code halb zu ändern, der beide Bereiche gleichzeitig betrifft.

My Geocode ist eine API für Geokodierung sowie IP-, Zeitzonen-, Höhen- und Postleitzahlabfragen. Sie rendert keine Kartenkacheln oder statischen Kartenbilder und ist daher kein Ersatz für diesen Teil einer Mapbox-Integration, sondern nur für die Adressabfrage. Ihr Mapbox-Kompatibilitäts-Host bildet die GeoJSON-FeatureCollection-Struktur nach, die Mapbox Geocoding zurückgibt, einschließlich der Felder center, place_name und context. Der einzige Unterschied sind die Texte zu Urheberrecht, Nutzungsbedingungen und Datenschutz. Details finden Sie unter /compatibility/mapbox/.

Praktische Schritte zur Trennung:

  • Finden Sie jede Stelle in der Codebasis, an der ein Mapbox-Access-Token gelesen wird, und stellen Sie fest, ob diese Aufrufstelle Geokodierung, Kachel-Rendering oder beides übernimmt, da manche Wrapper-Funktionen historisch bedingt die Adressabfrage mit einer Kartenvorschau in einem Aufruf kombinieren
  • Stellen Sie die geokodierungsspezifischen Aufrufe auf einen eigenen Schlüssel und einen eigenen Host um, während die Aufrufe für Kacheln und statische Karten mit ihrem bestehenden Token unverändert auf Mapbox zeigen
  • Vergewissern Sie sich, dass die Kartenkomponente im Frontend nicht davon ausgeht, dass das Geokodierungsergebnis und die Kartenkacheln dasselbe Koordinatenreferenzsystem oder dieselbe Projektionskonvention verwenden. Das ist selten ein Problem, aber eine kurze Prüfung wert

Die Authentifizierung für den Geokodierungs-Kompatibilitäts-Host funktioniert mit einem Schlüssel als X-API-Key, per Authorization: Bearer, HTTP Basic Auth oder als Query-Parameter. Es gibt 2.500 kostenlose Anfragen pro Tag ohne Schlüssel, weitere 2.500 kostenlos pro Schlüssel und Tag, gezählt pro Netzwerk, danach Prepaid-Guthaben zu 0,0001 € pro Anfrage oder einen Unlimited-Schlüssel zu 50 € pro Monat, zum selben Tarif für jeden Endpunkt einschließlich diesem.

Zwei Anbieter parallel zu betreiben, einen für das Karten-Rendering und einen für die Adressabfrage, ist ein stabiles langfristiges Setup und kein Übergangszustand, den man beseitigen müsste. Viele Produktionsanwendungen verteilen Karten und Geokodierung bewusst auf verschiedene Anbieter, da beide Funktionen unterschiedliche Kostentreiber und unterschiedliche technische Anforderungen haben, und es gibt keine Pflicht, sie unter einem einzigen Konto zusammenzufassen, nur weil sie so angefangen haben.