MapmyIndiaMapController constructor

MapmyIndiaMapController({
  1. required MapboxGlPlatform mapboxGlPlatform,
  2. required CameraPosition initialCameraPosition,
  3. OnStyleLoadedCallback? onStyleLoadedCallback,
  4. OnMapClickCallback? onMapClick,
  5. OnMapLongClickCallback? onMapLongClick,
  6. OnAttributionClickCallback? onAttributionClick,
  7. OnCameraTrackingDismissedCallback? onCameraTrackingDismissed,
  8. OnCameraTrackingChangedCallback? onCameraTrackingChanged,
  9. OnMapIdleCallback? onMapIdle,
  10. OnUserLocationUpdated? onUserLocationUpdated,
  11. OnCameraIdleCallback? onCameraIdle,
  12. OnGeoAnalyticsSelected? onGeoAnalyticsSelected,
})

Implementation

MapmyIndiaMapController({
  required MapboxGlPlatform mapboxGlPlatform,
  required CameraPosition initialCameraPosition,
  this.onStyleLoadedCallback,
  this.onMapClick,
  this.onMapLongClick,
  this.onAttributionClick,
  this.onCameraTrackingDismissed,
  this.onCameraTrackingChanged,
  this.onMapIdle,
  this.onUserLocationUpdated,
  this.onCameraIdle,
  this.onGeoAnalyticsSelected,
}) : _mapboxGlPlatform = mapboxGlPlatform {
  _cameraPosition = initialCameraPosition;

  _mapboxGlPlatform.onInfoWindowTappedPlatform.add((symbolId) {
    final symbol = _symbols[symbolId];
    if (symbol != null) {
      onInfoWindowTapped(symbol);
    }
  });

  _mapboxGlPlatform.onSymbolTappedPlatform.add((symbolId) {
    final symbol = _symbols[symbolId];
    if (symbol != null) {
      onSymbolTapped(symbol);
    }
  });

  _mapboxGlPlatform.onLineTappedPlatform.add((lineId) {
    final line = _lines[lineId];
    if (line != null) {
      onLineTapped(line);
    }
  });

  _mapboxGlPlatform.onCircleTappedPlatform.add((circleId) {
    final circle = _circles[circleId];
    if (circle != null) {
      onCircleTapped(circle);
    }
  });

  _mapboxGlPlatform.onFillTappedPlatform.add((fillId) {
    final fill = _fills[fillId];
    if (fill != null) {
      onFillTapped(fill);
    }
  });

  _mapboxGlPlatform.onFeatureTappedPlatform.add((payload) {
    for (final fun in List<OnFeatureTappedCallback>.from(onFeatureTapped)) {
      fun(payload["id"], payload["point"], payload["latLng"]);
    }
  });

  _mapboxGlPlatform.onGeoAnalyticsSelected.add((details) {
      if(onGeoAnalyticsSelected != null) {
        onGeoAnalyticsSelected!(details);
      }
  });

  _mapboxGlPlatform.onCameraMoveStartedPlatform.add((_) {
    _isCameraMoving = true;
    notifyListeners();
  });

  _mapboxGlPlatform.onCameraMovePlatform.add((cameraPosition) {
    _cameraPosition = cameraPosition;
    notifyListeners();
  });

  _mapboxGlPlatform.onCameraIdlePlatform.add((cameraPosition) {
    _isCameraMoving = false;
    if (cameraPosition != null) {
      _cameraPosition = cameraPosition;
    }
    if (onCameraIdle != null) {
      onCameraIdle!();
    }
    notifyListeners();
  });

  _mapboxGlPlatform.onMapStyleLoadedPlatform.add((_) {
    if (onStyleLoadedCallback != null) {
      onStyleLoadedCallback!();
    }
  });

  _mapboxGlPlatform.onMapClickPlatform.add((dict) {
    if (onMapClick != null) {
      onMapClick!(dict['point'], dict['latLng']);
    }
  });

  _mapboxGlPlatform.onMapLongClickPlatform.add((dict) {
    if (onMapLongClick != null) {
      onMapLongClick!(dict['point'], dict['latLng']);
    }
  });

  _mapboxGlPlatform.onAttributionClickPlatform.add((_) {
    if (onAttributionClick != null) {
      onAttributionClick!();
    }
  });

  _mapboxGlPlatform.onCameraTrackingChangedPlatform.add((mode) {
    if (onCameraTrackingChanged != null) {
      onCameraTrackingChanged!(mode);
    }
  });

  _mapboxGlPlatform.onCameraTrackingDismissedPlatform.add((_) {
    if (onCameraTrackingDismissed != null) {
      onCameraTrackingDismissed!();
    }
  });

  _mapboxGlPlatform.onMapIdlePlatform.add((_) {
    if (onMapIdle != null) {
      onMapIdle!();
    }
  });
  _mapboxGlPlatform.onUserLocationUpdatedPlatform.add((location) {
    onUserLocationUpdated?.call(location);
  });
}