N-Ways
Documentation développeursVenir de Google

Passer de Google Maps Platform à N-Ways

Le même modèle de projets, de clés restreintes et de quotas, avec des cartes, des adresses et des itinéraires faits pour l’Afrique de l’Ouest. Ce qui correspond à quoi, et comment migrer une API à la fois.

Sur cette page

Si votre application utilise déjà Google Maps Platform, l’essentiel de ce que vous savez reste valable : N-Ways utilise le même modèle de projets, de clés restreintes, de quotas par API et de raisons d’erreur. Ce guide fait correspondre chaque élément à son équivalent N-Ways et montre ce qui change dans votre code. Vous pouvez migrer une API à la fois.

Remarque :

N-Ways n’est pas affilié à Google. Google Maps Platform n’est cité ici que pour vous aider à migrer ; ses produits sont décrits avec nos propres mots. Consultez la documentation de Google pour savoir comment ils fonctionnent.

Pourquoi changer

  • Les adresses qu’on utilise ici : les codes postaux NIPOST jusqu’au bâtiment, les codes GhanaPost GPS, les points de repère et les surnoms.
  • La façon dont on se déplace ici : des itinéraires en moto-taxi (okada), en keke et en danfo qui respectent les zones interdites, les bateaux, les trains, les passages de frontière, et des tarifs en naira, en cédis, en F CFA, en dollars libériens, en francs guinéens, en leones et en escudos cap-verdiens.
  • Une facture plus légère : une franchise gratuite pour chaque API chaque mois, et des prix qui représentent une fraction de ceux des plateformes mondiales, facturés en monnaie locale.
  • Une technologie cartographique ouverte : les cartes reposent sur MapLibre et des tuiles vectorielles, vous pouvez donc changer leur style et afficher les données N-Ways sur n’importe quelle carte, avec la mention.

Concepts

Google Maps PlatformN-WaysCe qui change
Projet cloud avec facturationProjetUn projet par application ou par client ; pas de compte de facturation séparé. Crédit prépayé ou facture.
Activer chaque APILa formule du projetPas d’étape d’activation : un projet peut appeler les API de sa formule, et chaque clé peut être restreinte davantage.
Clé d’APIClé d’API (nw_…)Envoyée avec key= ou l’en-tête X-NWays-Api-Key.
Restrictions d’applicationRestrictions d’applicationLes quatre mêmes types : sites web (avec caractères génériques), package Android et SHA-1, bundle ID iOS, adresses IP. Un seul type par clé.
Restrictions d’APIRestrictions d’APICochez les API qu’une clé peut appeler.
Quotas et plafondsLimites de débit et plafonds journaliersPar clé et par API, et si vous le souhaitez pour l’ensemble du projet. Quotas et limites
Masques de champsfields=Choisissez les champs dont vous avez besoin ; pour les lieux et les itinéraires, cela détermine aussi le palier de prix.
Utilisation gratuite mensuelleDes appels gratuits pour chaque APIComptés par API, pas un crédit partagé.
Jetons de session pour la saisie semi-automatiqueJetons de sessionMême principe : un jeton par recherche, terminé par le choix d’un résultat.

API

Si vous utilisezSur N-Ways, utilisezStatut
Maps JavaScript APISDK Maps pour le web (@nways/maps, basé sur MapLibre GL JS)Disponible
Maps SDK for Android / iOSN-Ways Maps pour Android et pour iOS (basé sur MapLibre Native)Disponible
Map Tiles APIAPI Tuiles (tuiles vectorielles, PMTiles)Disponible
Maps Static APICartes statiquesVoir sa page
Geocoding APIGéocodage et géocodage inverseDisponible
Places API : nearby, text search, detailsRecherche et lieuxDisponible
Places AutocompleteSaisie semi-automatiqueVoir sa page
Address Validation APIValidation d’adresseVoir sa page
Routes API : compute routesItinérairesDisponible
Routes API : route matrixMatrice d’itinérairesVoir sa page
Route Optimization APIOptimisation de tournéesVoir sa page
Solutions de flotte et de livraison du dernier kilomètreSuivi de flotte et webhooksVoir sa page
Calque de trafic (Traffic layer)Trafic (GeoJSON) et le flux de traficDisponible
Street View, Elevation, Roads, Air Quality, Solar, PollenPas d’équivalentGardez-les où ils sont

N-Ways a aussi des API sans équivalent chez Google : des estimations de tarifs pour les taxis, les okadas, les kekes, les bus et les bateaux, la recherche de codes postaux NIPOST et GhanaPost, et des itinéraires qui respectent les interdictions d’okada et de keke.

Une carte dans une page web

Les cartes N-Ways sont des cartes MapLibre GL JS. Les principales différences avec la carte JavaScript de Google :

  • Les coordonnées s’écrivent [longitude, latitude] dans MapLibre (l’ordre GeoJSON), et non { lat, lng }. C’est le changement qui piège tout le monde : inversez-les.
  • Les niveaux de zoom sont très proches ; MapLibre accepte les zooms fractionnaires.
  • Marqueurs : new maplibregl.Marker().setLngLat([lng, lat]).addTo(map). Les fenêtres d’information sont des maplibregl.Popup.
  • Les formes (polylignes, polygones, cercles) sont des sources GeoJSON avec des couches line ou fill, dessinées par le GPU : même par milliers, elles restent fluides.
  • Événements : map.on('click', (e) => e.lngLat) ; la carte est prête au moment de map.on('load').
index.html
<link rel="stylesheet" href="https://nways.ng/sdk/v1/maplibre-gl.css" />
<div id="map" style="height: 480px"></div>
<script type="module">
  import { createMap, maplibregl } from 'https://nways.ng/sdk/v1/nways-maps.standalone.js'

  // Lagos, Allen Avenue. Attention à l’ordre : la longitude d’abord.
  const map = createMap({ container: 'map', key: 'VOTRE_CLE_API', center: [3.3515, 6.6018], zoom: 15 })
  new maplibregl.Marker({ color: '#0b7a3e' })
    .setLngLat([3.3515, 6.6018])
    .setPopup(new maplibregl.Popup().setText('Point d’enlèvement'))
    .addTo(map)
</script>

Services web

  • Les erreurs sont des erreurs HTTP : une clé refusée reçoit 401 ou 403 avec une reason (API_KEY_HTTP_REFERRER_BLOCKED, API_KEY_SERVICE_BLOCKED…), jamais 200 avec un mot de statut. Beaucoup de raisons portent le même nom que chez Google. Erreurs
  • Les points dans les requêtes s’écrivent { "lat": …, "lng": … } ou lat,lng dans les paramètres ; les lignes dans les réponses sont des paires GeoJSON [lng, lat], pas des polylignes encodées, elles vont donc directement sur une carte.
  • Les distances et les durées sont de simples nombres : distanceM en mètres, durationS en secondes.
  • Langues : lang=en ou lang=fr.
  • Les identifiants sont des chaînes que vous pouvez garder définitivement (osm:n501540907, ghanapost:GA-183-8164) ; ce ne sont pas des identifiants de lieu Google, il faut donc retrouver chaque lieu une fois, par son nom ou sa position.

Préparer la migration

  1. Obtenez un projet et des clés, une par site web, application et serveur, restreintes de la même façon que vos clés Google. Premiers pas
  2. Commencez par le côté serveur : le géocodage et les itinéraires sont les plus faciles à basculer et à comparer, derrière votre propre backend.
  3. Faites tourner les deux pendant une semaine : envoyez une partie des requêtes à N-Ways et comparez les réponses, les heures d’arrivée estimées et l’avis de vos livreurs.
  4. Changez les cartes dans vos applications web et mobiles, en gardant la mention visible. Attribution
  5. Remplacez les identifiants stockés : remplacez les identifiants de lieu Google par des identifiants N-Ways au fur et à mesure que les clients reviennent, ou en une seule fois, par position.
  6. Fixez des plafonds sur chaque clé pour qu’un bug ne puisse pas faire grimper la facture, puis désactivez les clés Google que vous n’utilisez plus.

De l’aide pour migrer

Indiquez-nous les API que vous utilisez et vos volumes mensuels à hello@nways.ng : nous vous aiderons à préparer la migration et à estimer votre facture.