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 donne un 422 outside_coverage. Iqaluit est au Canada et n'est pas relié par la route au continent, donc Calgary vers Iqaluit donne un 422 no_route.

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.