handleMessage method

  1. @override
void handleMessage(
  1. MapViewController mapViewController,
  2. Map<String, dynamic> payload
)
override

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);
  }
}