webHandle method

Future webHandle(
  1. MethodCall call
)

Implementation

Future<dynamic> webHandle(MethodCall call) async {
  final arguments = call.arguments;
  switch (call.method) {
    case "getCameraPosition":
      return await getCameraPosition();
    case "moveCamera":
      final cameraUpdate =
          CameraUpdate.fromMessageable(arguments["cameraUpdate"]);
      final animation = (arguments.containsKey("cameraAnimation") &&
              arguments["cameraAnimation"] != null)
          ? CameraAnimation.fromMessageable(arguments["cameraAnimation"])
          : null;
      await moveCamera(cameraUpdate, animation: animation);
      break;
    case "setGestureEnable":
      final gesture = GestureType.values
          .firstWhere((e) => e.value == arguments["gestureType"]);
      await setGesture(gesture, arguments["enable"]);
      break;
    case "setEventHandler":
      await setEventTrigger(arguments);
      break;
    case "fromScreenPoint":
      return await fromScreenPoint(arguments['x'], arguments['y']);
    case "toScreenPoint":
      return await toScreenPoint(LatLng.fromMessageable(arguments));
    case "canPositionVisible":
      final zoomLevel = arguments["zoomLevel"];
      final position =
          arguments["position"].map(LatLng.fromMessageable).toList();
      return await canShowPosition(zoomLevel, position);
    case "changeMapType":
      await changeMapType(
          MapType.values.firstWhere((e) => e.value == arguments["mapType"]));
      break;
    case "overlayVisible":
      final overlay = MapOverlay.values
          .firstWhere((e) => e.value == arguments["overlayType"]);
      if (arguments["visible"]) {
        await showOverlay(overlay);
      } else {
        await hideOverlay(overlay);
      }
      break;
    case "getBuildingHeightScale":
      return 0.0;
    case "defaultGUIposition":
      final gui = DefaultGUIType.values
          .firstWhere((e) => e.value == arguments["type"]);
      final gravity = MapGravity.fromValue(arguments["gravity"]);
      defaultGUIposition(gui, gravity, arguments["x"], arguments["y"]);
      break;
    case "clearCache" ||
          "clearDiskCache" ||
          "setBuildingHeightScale" ||
          "defaultGUIvisible" ||
          "scaleAutohide" ||
          "scaleAnimationTime":
      break;
    default:
      throw UnimplementedError();
  }
}