namespace SchotzIadKmTracker.Api.Services; /// /// Client de l'API OpenRouteService (ORS) — calcul d'itinéraire routier uniquement. /// ORS n'est jamais appelé pour du géocodage ni avec des coordonnées nulles : /// les coordonnées de départ et d'arrivée doivent être connues (non-null). /// public interface IORSClient { /// /// Calcule l'itinéraire routier entre deux points géographiques connus via /// POST /v2/directions/driving-car et retourne la distance (km) et la /// géométrie GeoJSON de l'itinéraire. /// /// Latitude du point de départ. /// Longitude du point de départ. /// Latitude du point d'arrivée. /// Longitude du point d'arrivée. /// Jeton d'annulation. /// Un (distance en km + géométrie GeoJSON). /// /// Levée si l'appel dépasse le délai imparti (voir ORSOptions.TimeoutSeconds), /// afin que l'appelant applique le fallback orthodromique (Haversine). /// /// /// Levée en cas d'échec général (erreur réseau, réponse invalide, corps illisible). /// Task CalculateRouteAsync( double lat1, double lon1, double lat2, double lon2, CancellationToken cancellationToken = default); }