Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Formatting
  • Loading branch information
yaakovschectman committed Sep 6, 2024
commit 75b7e4ad72a9a70ca6dd1ce0b442adccc2a5ecac
Original file line number Diff line number Diff line change
Expand Up @@ -114,20 +114,28 @@ class CameraPosition {
enum CameraUpdateType {
/// New position for camera
newCameraPosition,

/// New coordinates for camera
newLatLng,

/// New coordinates bounding box
newLatLngBounds,

/// New coordinate with zoom level
newLatLngZoom,

/// Move by a scroll delta
scrollBy,

/// Zoom by a relative change
zoomBy,

/// Zoom to an absolute level
zoomTo,

/// Zoom in
zoomIn,

/// Zoom out
zoomOut,
}
Expand Down Expand Up @@ -210,7 +218,9 @@ abstract class CameraUpdate {
/// Defines a camera move to a new position.
class CameraUpdateNewCameraPosition extends CameraUpdate {
/// Creates a camera move.
const CameraUpdateNewCameraPosition(this.cameraPosition) : super._(CameraUpdateType.newCameraPosition);
const CameraUpdateNewCameraPosition(this.cameraPosition)
: super._(CameraUpdateType.newCameraPosition);

/// The new camera position.
final CameraPosition cameraPosition;
@override
Expand All @@ -220,7 +230,9 @@ class CameraUpdateNewCameraPosition extends CameraUpdate {
/// Defines a camera move to a latitude and longitude.
class CameraUpdateNewLatLng extends CameraUpdate {
/// Creates a camera move to latitude and longitude.
const CameraUpdateNewLatLng(this.latLng) : super._(CameraUpdateType.newLatLng);
const CameraUpdateNewLatLng(this.latLng)
: super._(CameraUpdateType.newLatLng);

/// New latitude and longitude of the camera..
final LatLng latLng;
@override
Expand All @@ -230,9 +242,12 @@ class CameraUpdateNewLatLng extends CameraUpdate {
/// Defines a camera move to a new bounding latitude and longitude range.
class CameraUpdateNewLatLngBounds extends CameraUpdate {
/// Creates a camera move to a bounding range.
const CameraUpdateNewLatLngBounds(this.bounds, this.padding) : super._(CameraUpdateType.newLatLngBounds);
const CameraUpdateNewLatLngBounds(this.bounds, this.padding)
: super._(CameraUpdateType.newLatLngBounds);

/// The northeast and southwest bounding coordinates.
final LatLngBounds bounds;

/// The amount of padding by which the view is inset.
final double padding;
@override
Expand All @@ -242,9 +257,12 @@ class CameraUpdateNewLatLngBounds extends CameraUpdate {
/// Defines a camera move to new coordinates with a zoom level.
class CameraUpdateNewLatLngZoom extends CameraUpdate {
/// Creates a camera move with coordinates and zoom level.
const CameraUpdateNewLatLngZoom(this.latLng, this.zoom) : super._(CameraUpdateType.newLatLngZoom);
const CameraUpdateNewLatLngZoom(this.latLng, this.zoom)
: super._(CameraUpdateType.newLatLngZoom);

/// New coordinates of the camera.
final LatLng latLng;

/// New zoom level of the camera.
final double zoom;
@override
Expand All @@ -254,9 +272,12 @@ class CameraUpdateNewLatLngZoom extends CameraUpdate {
/// Defines a camera scroll by a certain delta.
class CameraUpdateScrollBy extends CameraUpdate {
/// Creates a camera scroll.
const CameraUpdateScrollBy(this.dx, this.dy) : super._(CameraUpdateType.scrollBy);
const CameraUpdateScrollBy(this.dx, this.dy)
: super._(CameraUpdateType.scrollBy);

/// Scroll delta x.
final double dx;

/// Scroll delta y.
final double dy;
@override
Expand All @@ -266,13 +287,22 @@ class CameraUpdateScrollBy extends CameraUpdate {
/// Defines a relative camera zoom.
class CameraUpdateZoomBy extends CameraUpdate {
/// Creates a relative camera zoom.
const CameraUpdateZoomBy(this.amount, [this.focus]) : super._(CameraUpdateType.zoomBy);
const CameraUpdateZoomBy(this.amount, [this.focus])
: super._(CameraUpdateType.zoomBy);

/// Change in camera zoom amount.
final double amount;

/// Optional point around which the zoom is focused.
final Offset? focus;
@override
Object toJson() => (focus == null) ? <Object>['zoomBy', amount] : <Object>['zoomBy', amount, <double>[focus!.dx, focus!.dy]];
Object toJson() => (focus == null)
? <Object>['zoomBy', amount]
: <Object>[
'zoomBy',
amount,
<double>[focus!.dx, focus!.dy]
];
}

/// Defines a camera zoom in.
Expand All @@ -295,6 +325,7 @@ class CameraUpdateZoomOut extends CameraUpdate {
class CameraUpdateZoomTo extends CameraUpdate {
/// Creates a zoom to an absolute zoom level.
const CameraUpdateZoomTo(this.zoom) : super._(CameraUpdateType.zoomTo);

/// New zoom level of the camera.
final double zoom;
@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ void main() {
test('CameraUpdate.newCameraPosition', () {
const CameraPosition cameraPosition = CameraPosition(
target: LatLng(10.0, 15.0), bearing: 0.5, tilt: 30.0, zoom: 1.5);
final CameraUpdate cameraUpdate = CameraUpdate.newCameraPosition(cameraPosition);
final CameraUpdate cameraUpdate =
CameraUpdate.newCameraPosition(cameraPosition);
expect(cameraUpdate.runtimeType, CameraUpdateNewCameraPosition);
expect(cameraUpdate.updateType, CameraUpdateType.newCameraPosition);
cameraUpdate as CameraUpdateNewCameraPosition;
Expand All @@ -41,9 +42,11 @@ void main() {
});

test('CameraUpdate.newLatLngBounds', () {
final LatLngBounds latLngBounds = LatLngBounds(northeast: const LatLng(1.0, 2.0), southwest: const LatLng(-2.0, -3.0));
final LatLngBounds latLngBounds = LatLngBounds(
northeast: const LatLng(1.0, 2.0), southwest: const LatLng(-2.0, -3.0));
const double padding = 1.0;
final CameraUpdate cameraUpdate = CameraUpdate.newLatLngBounds(latLngBounds, padding);
final CameraUpdate cameraUpdate =
CameraUpdate.newLatLngBounds(latLngBounds, padding);
expect(cameraUpdate.runtimeType, CameraUpdateNewLatLngBounds);
expect(cameraUpdate.updateType, CameraUpdateType.newLatLngBounds);
cameraUpdate as CameraUpdateNewLatLngBounds;
Expand Down