handleMessage method
Implementation
@override
void handleMessage(
MapViewController mapViewController,
Map<String, dynamic> payload,
) async {
var sdk = SitumSdk();
var directionsMessage = createDirectionsMessage(payload);
var directionsRequest = createDirectionsRequest(payload);
// Send DirectionsOptions so it can be intercepted.
mapViewController._interceptDirectionsRequest(directionsRequest);
// Populate directionsRequest with information useful for the directions callback:
populateDirectionsRequest(directionsRequest, directionsMessage);
// Calculate route and send it to the web-view.
try {
SitumRoute situmRoute = await sdk.requestDirections(directionsRequest);
mapViewController._setRoute(directionsMessage, situmRoute);
} on PlatformException catch (e) {
mapViewController._setRouteError(e.code,
routeIdentifier: directionsMessage.identifier);
} catch (e) {
mapViewController._setRouteError(-1,
routeIdentifier: directionsMessage.identifier);
}
}