MapmyIndiaMapController constructor
MapmyIndiaMapController({
- required MapboxGlPlatform mapboxGlPlatform,
- required CameraPosition initialCameraPosition,
- OnStyleLoadedCallback? onStyleLoadedCallback,
- OnMapClickCallback? onMapClick,
- OnMapLongClickCallback? onMapLongClick,
- OnAttributionClickCallback? onAttributionClick,
- OnCameraTrackingDismissedCallback? onCameraTrackingDismissed,
- OnCameraTrackingChangedCallback? onCameraTrackingChanged,
- OnMapIdleCallback? onMapIdle,
- OnUserLocationUpdated? onUserLocationUpdated,
- OnCameraIdleCallback? onCameraIdle,
- 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);
});
}