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 depuisorigins[i]jusqu’àdestinations[j].distances[i][j]= distance en mètres sur la même paire.originsetdestinationssont 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
| Statut | Cause |
|---|---|
400 | origins ou destinations manquant, ou plus de 25 points dans l’un des deux |
401 | api_key manquant ou révoqué |
403 | Domaine non autorisé |
404 | Au moins une coordonnée hors couverture |
Voir Codes d’erreur pour la liste complète.