Aller au contenu
Tous les exemplesItinéraires

Obtenir un itinéraire

Des directions de point à point sur le graphe routier du Canada. route() retourne la distance en mètres, la durée en secondes, et une LineString GeoJSON que vous pouvez ajouter comme source.

résultat en direct
le code qui l’a produit
import { Unmap } from "@unmap/sdk";

const unmap = new Unmap({
  key: "um_live_...",
  container: "map",
  center: [-114.03, 51.07],
  zoom: 11,
});

const route = await unmap.router.route([-114.0719, 51.0447], [-113.9871, 51.0899], { mode: "auto" });

unmap.map!.on("load", () => {
  unmap.map!.addSource("route", {
    type: "geojson",
    data: { type: "Feature", properties: {}, geometry: route.geometry },
  });
  unmap.map!.addLayer({
    id: "route-line",
    type: "line",
    source: "route",
    layout: { "line-cap": "round", "line-join": "round" },
    paint: { "line-color": "#FF3E9A", "line-width": 3 },
  });
});

Les coordonnées sont [lng, lat]. Il n'y a pas de points de passage intermédiaires : une requête porte exactement deux points. La première et la dernière coordonnée de la géométrie sont accrochées à l'arête routable la plus proche, donc elles se situent près des points demandés plutôt qu'exactement dessus.

Le réseau routier couvre le Canada seulement. Un point aux États-Unis, ou un itinéraire qui devrait quitter le Canada, échoue. Iqaluit n'est pas relié par la route au continent.

L'API d'itinéraires documente chaque paramètre, y compris le profil véhicule pour les camions. @unmap/routing est le même client, sans dépendance à une carte.