Créez une clé
La clé publique sert les cartes et l'autocomplétion dans le navigateur. La clé secrète reste sur votre serveur.
Utilisez une clé publique limitée à vos domaines dans le navigateur, ou une clé secrète côté serveur. Cartes, recherche d'adresses et itinéraires utilisent les mêmes clés.
La clé publique sert les cartes et l'autocomplétion dans le navigateur. La clé secrète reste sur votre serveur.
Ajoutez les hôtes qui peuvent utiliser la clé publique. Le CDN refuse les autres origines.
Chargez le style Waypio voulu dans MapLibre. Les URL des tuiles et des glyphes ciblent automatiquement votre zone CDN.
Le document de style contient la configuration du CDN et des sources PMTiles. La clé publique reste visible, mais elle ne fonctionne que sur les domaines autorisés.
const protocol = new pmtiles.Protocol(); maplibregl.addProtocol("pmtiles", protocol.tile); const map = new maplibregl.Map({ container: "map", style: "https://www.waypio.com/p/styles/standard?k=VOTRE_CLE_PUBLIQUE", center: [2.35, 48.85], zoom: 11 }); // Le style reçu pointe vers cdn-fr, cdn-eu ou cdn.waypio.com.
L'autocomplétion accepte une clé publique depuis le navigateur. Le géocodage serveur utilise l'en-tête Authorization avec la clé secrète.
const response = await fetch( "https://www.waypio.com/p/autocomplete?q=10+rue+de+Rivoli&limit=5&k=VOTRE_CLE_PUBLIQUE" ); if (!response.ok) throw new Error(`Waypio ${response.status}`); const { features } = await response.json(); const [longitude, latitude] = features[0].geometry.coordinates;
curl "https://www.waypio.com/v1/geocode?q=Tour+Eiffel&limit=3&country=fr" \ -H "Authorization: Bearer VOTRE_CLE_SECRETE" curl "https://www.waypio.com/v1/reverse?lat=48.8584&lon=2.2945" \ -H "Authorization: Bearer VOTRE_CLE_SECRETE"
Le reverse géocodage peut utiliser la clé publique limitée au domaine. Le calcul d'itinéraire utilise la clé secrète côté serveur.
map.on("click", async ({ lngLat }) => { const url = new URL("https://www.waypio.com/p/reverse"); url.search = new URLSearchParams({ lat: lngLat.lat, lon: lngLat.lng, limit: "1", k: "VOTRE_CLE_PUBLIQUE" }); const response = await fetch(url); if (!response.ok) throw new Error(`Waypio ${response.status}`); const result = await response.json(); console.log(result.features[0]?.place_name); });
curl "https://www.waypio.com/v1/route?profile=driving&from=2.333,48.860&to=2.349,48.853" \ -H "Authorization: Bearer VOTRE_CLE_SECRETE"
Ouvrez un endpoint pour consulter son authentification, ses paramètres et le format de réponse.
/p/styles/{style}Style MapLibre pour le navigateurAuthentification. Paramètre k=wp_pub_... et origine autorisée.
Styles généraux. standard, contrast, night, muted. Styles métier. mobility, logistics, poi, tourism, civic, real-estate, topo, hydro, parks, heritage, trails, civic-night, energy, aviation, industry, campus.
Réponse. Document de style MapLibre v8, avec les ressources CDN signées pour votre zone.
/p/autocompleteSuggestions pendant la saisieAuthentification. Paramètre k=wp_pub_... et origine autorisée.
Requis. q. Optionnels. limit, bbox, country, countrycodes, language, proximity, type, types.
Réponse. Collection GeoJSON. Chaque feature fournit geometry.coordinates, place_name et ses propriétés d'adresse.
/v1/geocodeAdresse vers coordonnéesAuthentification. Authorization: Bearer wp_live_....
Requis. q. Optionnels. limit, bbox, country, countrycodes, language, proximity, type, types.
Réponse. Collection GeoJSON classée par pertinence.
/v1/reverseCoordonnées vers adresseAuthentification. Authorization: Bearer wp_live_....
Requis. lat et lon. Optionnels. limit et type.
Réponse. Collection GeoJSON, de l'adresse la plus proche aux résultats suivants.
/v1/routeItinéraire routier en FranceAuthentification. Authorization: Bearer wp_live_....
Requis. profile=driving et from=lon,lat avec to=lon,lat. Réponse. Distance, durée et géométrie GeoJSON de l'itinéraire.
ErreursRéponses à traiter côté client401 : clé secrète absente ou invalide. 402 : solde épuisé. 403 : clé publique ou domaine refusé. 429 : limite temporaire. 502 : moteur cartographique indisponible.
Consultez le contrat OpenAPI complet et testez les opérations avec votre clé API.