Host tauschen, Query-String behalten.
Von den drei Migrationen ist diese absichtlich die engste: Feldnamen und Verschachtelung der Antworten folgen den dokumentierten HERE-Formaten, sodass die meisten Integrationen umziehen, ohne den Code anzufassen, der die Antwort liest.
- Gleiche Feldnamen und Verschachtelung bei Geocoding, Routing, Matrix, Isochronen, Verkehr und Orten
- Flexible Polyline als Standard, wie bei HERE
- Identische Freikontingente — die kostenlose Stufe schrumpft beim Umzug nicht
- Jeder Tarif exakt halb so hoch wie der Listenpreis, den Sie heute zahlen
Der Tausch
Host und Auth-Header. Alles darunter ist die Parameterzuordnung.
- https://geocode.search.hereapi.com?apiKey=YOUR_KEY
+ https://api.apinavi.com
+ Authorization: Bearer $APINAVI_KEYParameterzuordnung
Geocoding & search
| HERE | ApiNavi | Note |
|---|---|---|
| GET /v1/geocode?q= | GET /v1/geocode?q= | Identical. Response fields keep their names. |
| GET /v1/revgeocode?at= | GET /v1/revgeocode?at= | — |
| GET /v1/autosuggest?q=&at= | GET /v1/autosuggest?q=&at= | — |
| in=countryCode:DEU | in=countryCode:DEU | — |
| items[].scoring.queryScore | items[].scoring.queryScore | Same 0–1 range; our field scores cover fewer components. |
| items[].resultType=administrativeArea | items[].resultType=locality | We collapse three administrative levels into locality and district. |
Routing
| HERE | ApiNavi | Note |
|---|---|---|
| GET /v8/routes?transportMode= | GET /v1/routes?transportMode= | Version segment differs; parameters do not. |
| return=polyline,summary | return=polyline,summary | — |
| vehicle[grossWeight] | vehicle[grossWeight] | — |
| POST /v8/matrix | POST /v1/matrix | Synchronous up to 500×500; larger jobs return a job id. |
| GET /v8/isolines | GET /v1/isolines | — |
| spans=speedLimit,truckRestriction | spans=speedLimit,truckRestriction | — |
Maps & traffic
| HERE | ApiNavi | Note |
|---|---|---|
| maps.hereapi.com/v3/base/mc/{z}/{x}/{y}/png8 | /v1/tiles/raster/{z}/{x}/{y}.png | — |
| vector/mc/{z}/{x}/{y}/omv | /v1/tiles/vector/{z}/{x}/{y}.mvt | Layer names follow the OpenMapTiles convention rather than HERE's. |
| GET /v7/flow?in=bbox: | GET /v1/traffic/flow?in=bbox: | — |
| GET /v7/incidents?in= | GET /v1/traffic/incidents?in= | — |
Wo es kein Eins-zu-eins-Tausch ist
Administrative Ergebnistypen
HERE liefert drei Verwaltungsebenen; wir fassen sie zu locality und district zusammen. Wer auf resultType verzweigt, muss dort einen Fall entfernen.
Ebenennamen in Vektorkacheln
Unsere MVT-Ebenen folgen der OpenMapTiles-Konvention statt HEREs Benennung. In einem Stil müssen die Ebenenverweise umbenannt werden — mechanisch, aber nicht umsonst.
Innenräume und HD-Daten
Wir liefern keine Innenraumkarten und keine spurgenauen HD-Inhalte. Wer eines davon nutzt, sollte diese Migration nicht machen.
Granularität des Scorings
queryScore folgt der 0–1-Semantik von HERE, aber fieldScore deckt weniger Komponenten ab. Schwellen lassen sich meist übernehmen, komponentenweise Prüfungen brauchen eventuell eine Nachjustierung.
Wie Teams das üblicherweise machen
- 01
Schatten
Eine Woche lang eine Kopie des Produktivtraffics an beide senden. Für Nutzer ändert sich nichts.
- 02
Vergleich
Feld für Feld auf den Endpunkten vergleichen, die Sie wirklich nutzen. Meist finden Teams zwei oder drei echte Unterschiede, nicht zwanzig.
- 03
Aufteilen
5 % umlegen, dann 50 %, dabei Fehlerrate und Latenz je Region beobachten.
- 04
Umstellen
Den Rest umlegen, den alten Schlüssel zwei Wochen aktiv lassen, dann rotieren.
Parallelbetrieb
Schicken Sie einen Prozentsatz des Traffics an beide Anbieter und vergleichen Sie die Antworten. Die Konsole zeigt die Abweichungsraten je Feld und Endpunkt, sodass Sie auf Basis von Belegen umstellen statt auf Stichproben.
Später wieder gehen
Dieselben Tabellen liest man rückwärts, und ein Export-Endpunkt gibt Ihre Geofences, Stile und Batch-Ergebnisse in offenen Formaten zurück. Ein Migrationsleitfaden, der nur nach innen zeigt, ist ein Warnzeichen, kein Feature.
Checkliste für die Umstellung
- Rate-Limits auf dem neuen Schlüssel vor der Aufteilung angehoben, nicht danach
- Ausgabenlimit für den ersten vollen Monat gesetzt
- Gespeicherte Orts-IDs neu aufgelöst, falls Sie sie speichern
- Polyline-Decoder an einer bekannten Route geprüft
- Abdeckung für die Länder im langen Schwanz Ihres Traffics geprüft
- Alter Schlüssel rotiert und aus den Secrets entfernt