Tarifs
Migration

D'un modèle à crédit vers une échelle publiée.

Le vrai changement n'est pas dans les paramètres mais dans le comptage. Google facture les chargements de carte à la session et impute la consommation sur un crédit mensuel ; nous facturons des tuiles et des requêtes, publiées, sans crédit autour duquel modéliser.

  • Un prix à la requête que vous pouvez calculer avant la facture
  • Des tuiles facturées à la tuile — souvent moins cher sur des sessions longues
  • Pas de matrice de SKU : dix services, dix tarifs
  • Hébergement des données en UE sans accord grand compte

Le changement

L'hôte et l'en-tête d'autorisation. Tout ce qui suit est la table de correspondance.

diff
- https://maps.googleapis.com?key=YOUR_KEY
+ https://api.apinavi.com
+ Authorization: Bearer $APINAVI_KEY

Table de correspondance

Geocoding

Google MapsApiNaviNote
GET /maps/api/geocode/json?address=GET /v1/geocode?q=
GET /maps/api/geocode/json?latlng=GET /v1/revgeocode?at=
components=country:DEin=countryCode:DEUISO alpha-3 rather than alpha-2.
results[].formatted_addressitems[].address.label
results[].geometry.locationitems[].positionlat/lng keys are the same.
results[].place_iditems[].idIdentifiers are not interchangeable; re-resolve saved places once.

Routes & places

Google MapsApiNaviNote
POST /directions/v2:computeRoutesGET /v1/routes
routes[].legs[].distanceMetersroutes[].sections[].summary.length
routes[].durationroutes[].sections[].summary.durationSeconds in both, without the trailing s.
POST /places:autocompleteGET /v1/autosuggest
GET /maps/api/distancematrix/jsonPOST /v1/matrix
Map load (per session)Tile requestsMetering differs: we bill tiles, not map loads — usually cheaper for long sessions, dearer for one-glance views.

Là où ce n'est pas un remplacement direct

Chargements de carte contre tuiles

Une session avec beaucoup de déplacements et de zooms coûte plus cher ici ; une page avec une seule vue fixe coûte moins. Le calculateur propose les deux profils en préréglages.

Ordre des coordonnées

Google renvoie geometry.location sous forme d'objet, nous aussi. Mais notre sortie GeoJSON place la longitude en premier, conformément à la spécification : vérifiez la voie que vous empruntez.

Identifiants de lieux

Les valeurs place_id ne se transposent pas. Ce que vous avez stocké doit être résolu à nouveau, une fois, par coordonnées ou par adresse.

Images au niveau de la rue

Nous n'avons pas d'équivalent de Street View. Si votre produit s'appuie dessus, laissez cette brique où elle est.

Comment les équipes s'y prennent

  1. 01

    Ombre

    Pendant une semaine, envoyez une copie du trafic de production aux deux. Rien ne change pour l'utilisateur.

  2. 02

    Comparaison

    Comparez champ par champ sur les points d'entrée que vous utilisez vraiment. La plupart des équipes trouvent deux ou trois écarts réels, pas vingt.

  3. 03

    Répartition

    Basculez 5 %, puis 50 %, en surveillant le taux d'erreur et la latence par région.

  4. 04

    Bascule

    Basculez le reste, gardez l'ancienne clé active une quinzaine de jours, puis renouvelez-la.

Mode double exécution

Envoyez un pourcentage du trafic aux deux fournisseurs et comparez les réponses. La console montre le taux de divergence champ par champ et point d'entrée par point d'entrée : la bascule se décide sur des données, pas sur un sondage.

Repartir plus tard

Les mêmes tables se lisent à l'envers, et un point d'entrée d'export renvoie vos zones, vos styles et vos résultats de lots dans des formats ouverts. Un guide de migration qui ne regarde que vers l'intérieur est un signal d'alerte, pas une fonctionnalité.

Liste de contrôle de bascule

  • Limites de débit relevées sur la nouvelle clé avant la répartition, pas après
  • Plafond de dépense fixé pour le premier mois complet
  • Identifiants de lieux enregistrés résolus à nouveau, si vous en stockez
  • Décodeur de polyligne vérifié sur un itinéraire connu
  • Couverture vérifiée pour les pays de la longue traîne de votre trafic
  • Ancienne clé renouvelée et retirée des secrets

Comparer avec HERE