getRoute method
- RaliPosition start,
- RaliPosition destination, {
- RouteEmphasis emphasis = RouteEmphasis.balanced,
- RALINavigationMode mode = RALINavigationMode.default_,
//////////// //////////// Retrieves a route between two points with comprehensive options
Implementation
// II.C - Route Retrieval Methods
///////////////
/// Retrieves a route between two points with comprehensive options
Future<RouteDetails> getRoute(
RaliPosition start,
RaliPosition destination, {
RouteEmphasis emphasis = RouteEmphasis.balanced,
RALINavigationMode mode = RALINavigationMode.default_,
}) async {
try {
final url = Uri.https(_baseUrl, '$_routePath/${start.lng},${start.lat};${destination.lng},${destination.lat}', {
'alternatives': 'true',
'geometries': 'geojson',
'overview': 'full',
'steps': 'true',
'access_token': accessToken,
'annotations': _getAnnotationsForMode(mode),
});
final response = await http.get(url);
if (response.statusCode == 200) {
final routeData = json.decode(response.body);
return RouteDetails.fromMapboxRoute(routeData);
} else {
throw HttpException('Failed to retrieve route: ${response.statusCode}');
}
} catch (e) {
print('Route retrieval error: $e');
rethrow;
}
}