CameraUpdate.fromMessageable constructor
CameraUpdate.fromMessageable(
- dynamic payload
Implementation
factory CameraUpdate.fromMessageable(dynamic payload) {
final type =
CameraUpdateType.values.firstWhere((e) => e.value == payload['type']);
final angle = payload["angle"];
final zoomLevel = payload["zoomLevel"];
final position =
payload.containsKey("latitude") && payload.containsKey("longitude")
? LatLng.fromMessageable(payload)
: null;
return switch (type) {
CameraUpdateType.newCenterPoint =>
CameraUpdate.newCenterPosition(position!, zoomLevel: zoomLevel),
CameraUpdateType.newCameraPos => () {
final cameraPosition = CameraPosition.fromMessageable(payload);
return CameraUpdate.newCameraPos(cameraPosition);
}(),
CameraUpdateType.newCameraAngle => throw UnimplementedError(),
CameraUpdateType.zoomTo => CameraUpdate.zoomTo(zoomLevel),
CameraUpdateType.zoomIn => CameraUpdate.zoomIn(),
CameraUpdateType.zoomOut => CameraUpdate.zoomOut(),
CameraUpdateType.rotate => CameraUpdate.rotate(angle),
CameraUpdateType.tilt => CameraUpdate.tilt(angle),
CameraUpdateType.fitMapPoints => CameraUpdate.fitMapPoints(
payload['points'].map<LatLng>(LatLng.fromMessageable).toList(),
padding: payload["padding"],
zoomLevel: zoomLevel)
};
}