TMaps - API Cartographie Tunisie

Matrice de distances

Calculez en un seul appel les distances et durées entre N origines et M destinations.

L’endpoint Distance Matrix calcule en une seule requête la distance et la durée entre chaque paire (origine × destination). Idéal pour :

  • trouver la ressource la plus proche (livreur, ambulance, expert…),
  • afficher un tableau « durée d’un trajet » dans une UI,
  • alimenter un solveur d’optimisation côté client.

Endpoint

POST https://api.tmaps.tn/distance-matrix?api_key=YOUR_API_KEY

Paramètres

Body JSON

Param Type Requis Défaut Description
origins array oui Liste de points { lat, lng } (max 25).
destinations array oui Liste de points { lat, lng } (max 25).
profile string driving Profil de transport : driving, walking, cycling, truck.
metrics array ["duration","distance"] Mesures à renvoyer. Au moins l'une des deux : duration, distance.

Limite de taille

Maximum 25 origines × 25 destinations par requête, soit 625 paires au total. Pour des matrices plus grandes, découpez en lots et fusionnez les résultats côté client.

Exemple — Trouver l’ambulance la plus proche

curl -X POST "https://api.tmaps.tn/distance-matrix?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "origins": [
    { "lat": 36.8280, "lng": 10.2100 },
    { "lat": 36.8450, "lng": 10.1850 },
    { "lat": 36.8094, "lng": 10.1400 }
  ],
  "destinations": [
    { "lat": 36.8000, "lng": 10.1815 }
  ],
  "profile": "driving"
}'

Réponse

200 Matrice 3 × 1 — durées et distances de chaque ambulance vers le patient
{
"durations": [
  [320],
  [180],
  [420]
],
"distances": [
  [3120],
  [1840],
  [4250]
],
"origins": [
  { "lat": 36.8280, "lng": 10.2100 },
  { "lat": 36.8450, "lng": 10.1850 },
  { "lat": 36.8094, "lng": 10.1400 }
],
"destinations": [
  { "lat": 36.8000, "lng": 10.1815 }
]
}

Lecture de la matrice

  • durations[i][j] = durée en secondes depuis origins[i] jusqu’à destinations[j].
  • distances[i][j] = distance en mètres sur la même paire.
  • origins et destinations sont renvoyés dans le même ordre que la requête, pour faciliter les corrélations côté client.

Symétrie

Pour une matrice carrée (mêmes points en origines et destinations), durations[i][i] = 0 et la matrice peut être asymétrique en environnement urbain à cause des sens uniques.

Cas d’usage

  • Affectation : ambulance / livreur / expert le plus proche d’un nouveau dossier.
  • Choix de site : comparer la durée de trajet de N candidats vers M cibles.
  • Géomarketing : table de durées « point de vente × clients » pour un solveur de zone.

Erreurs

StatutCause
400origins ou destinations manquant, ou plus de 25 points dans l’un des deux
401api_key manquant ou révoqué
403Domaine non autorisé
404Au moins une coordonnée hors couverture

Voir Codes d’erreur pour la liste complète.