Premiers pas
Obtenez une clé, réservez-la à votre site ou à votre application, et mettez une carte sur votre page en quelques lignes.
Sur cette page
1. Obtenir une clé
Une clé d’API indique à N-Ways de quel projet vient une requête, pour appliquer les restrictions et les quotas de ce projet et compter sa consommation. Les clés appartiennent à un projet : un par application ou par client est un bon début, pour que la consommation et les limites de chacun restent séparées.
Les clés se créent dans la console partenaire N-Ways. Inscrivez-vous avec Google, Apple ou un e-mail et obtenez votre clé en une minute. Utilisation gratuite chaque mois.
- Connectez-vous avec votre compte Google ou Apple ou un e-mail professionnel.
- Nommez votre entreprise. C’est la seule question : votre organisation, un premier projet et une clé sont créés aussitôt, et fonctionnent tout de suite.
- Copiez la clé : la console ne l’affiche qu’une fois. Traitez-la comme un mot de passe. Le même écran donne les trois étapes pour l’intégrer à un site web, une appli Android ou iOS, ou votre serveur.
Chaque API a des appels gratuits chaque mois. Au-delà, ajoutez du crédit dans Facturation (PalmPay : paiement en ligne, ou virement vers le numéro de compte propre à votre organisation) et ne payez que ce que vous utilisez ; sans crédit, les appels au-delà des gratuits reçoivent un 402 BILLING_DISABLED jusqu’à votre prochain ajout. D’autres projets, d’autres clés et les API permises à chacune se gèrent dans Projets et clés.
2. La restreindre
Une clé dans une page web ou une application peut être lue par n’importe qui. Les restrictions rendent une clé copiée inutilisable ailleurs. Donnez à chaque clé un seul type de restriction d’application et uniquement les API dont elle a besoin :
| Où la clé est utilisée | La restreindre à | Exemple |
|---|---|---|
| Un site web | Ses adresses (référents HTTP) | https://shop.example.com/*, https://*.example.com/* |
| Une application Android | Son nom de package et le SHA-1 de son certificat de signature | com.example.rider + DA:39:A3:… |
| Une application iOS | Son bundle ID | com.example.rider |
| Vos serveurs | Leurs adresses IP publiques | 203.0.113.7, 198.51.100.0/24 |
Limitez ensuite la clé aux API que l’application appelle : une page web qui affiche seulement une carte a besoin de Cartes, pas d’Itinéraires. En savoir plus sur les restrictions
Utilisez une clé distincte pour chaque site web, chaque application et chaque serveur. Une clé pour vos serveurs, restreinte par adresse IP, ne doit jamais apparaître dans une page web ou une application.
3. Afficher une carte
Collez ceci dans un fichier HTML et ouvrez-le. Il charge le SDK Maps de N-Ways (MapLibre GL JS inclus) et affiche Lagos.
<link rel="stylesheet" href="https://nways.ng/sdk/v1/maplibre-gl.css" />
<div id="map" style="height: 480px"></div>
<script type="module">
import { createMap } from 'https://nways.ng/sdk/v1/nways-maps.standalone.js'
createMap({ container: 'map', key: 'VOTRE_CLE_API', center: [3.3792, 6.5244], zoom: 12 })
</script>Les coordonnées s’écrivent longitude d’abord, puis latitude, comme en GeoJSON : [3.3792, 6.5244] est le centre de Lagos (Yaba). Le guide du SDK Maps explique les cartes sombres, les noms en français, les marqueurs et le tracé d’un itinéraire.
4. Trouver un lieu
Le géocodage accepte ce que les gens tapent, y compris les codes postaux NIPOST et les adresses GhanaPost GPS :
curl "https://nways.ng/maps/v1/geocode?q=GA-183-8164" -H "X-NWays-Api-Key: VOTRE_CLE_API"import { createClient } from 'https://nways.ng/sdk/v1/nways-maps.standalone.js'
const nways = createClient({ key: 'VOTRE_CLE_API' })
const { results } = await nways.geocode('Allen Avenue, Ikeja', { near: { lat: 6.6, lng: 3.35 } })
console.log(results[0].name, results[0].location.coordinates) // [lng, lat]5. Obtenir un itinéraire
Demandez un itinéraire entre deux points (ou vers un code postal NIPOST) et indiquez comment vous vous déplacez :
curl -X POST "https://nways.ng/maps/v1/routes/compute" \
-H "X-NWays-Api-Key: VOTRE_CLE_API" -H "Content-Type: application/json" \
-d '{"origin": {"lat": 6.6018, "lng": 3.3515}, "destination": {"lat": 6.4541, "lng": 3.3947}, "mode": "okada"}'const { routes } = await nways.route({
origin: { lat: 6.6018, lng: 3.3515 },
destination: { lat: 6.4541, lng: 3.3947 },
mode: 'okada',
})
console.log(Math.round(routes[0].durationS / 60), 'min,', (routes[0].distanceM / 1000).toFixed(1), 'km')Le guide des itinéraires explique les kekes, les danfos, les bateaux, les péages, les arrêts intermédiaires et les tarifs.