[google_maps_flutter] Allow (de-)serialization of CameraPosition (#1784)
* Allow (de-)serialization of CameraPosition
* Camera position toMap use fixes
* Updated the pubspec and changelog
diff --git a/packages/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/CHANGELOG.md
index 72e459b..1efbd86 100644
--- a/packages/google_maps_flutter/CHANGELOG.md
+++ b/packages/google_maps_flutter/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.5.20+5
+
+* Allow (de-)serialization of CameraPosition
+
## 0.5.20+4
* Marker drag event
diff --git a/packages/google_maps_flutter/lib/src/camera.dart b/packages/google_maps_flutter/lib/src/camera.dart
index ceb4289..78d624b 100644
--- a/packages/google_maps_flutter/lib/src/camera.dart
+++ b/packages/google_maps_flutter/lib/src/camera.dart
@@ -51,14 +51,13 @@
/// will be silently clamped to the supported range.
final double zoom;
- dynamic _toMap() => <String, dynamic>{
+ dynamic toMap() => <String, dynamic>{
'bearing': bearing,
'target': target._toJson(),
'tilt': tilt,
'zoom': zoom,
};
- @visibleForTesting
static CameraPosition fromMap(dynamic json) {
if (json == null) {
return null;
@@ -98,7 +97,7 @@
/// Returns a camera update that moves the camera to the specified position.
static CameraUpdate newCameraPosition(CameraPosition cameraPosition) {
return CameraUpdate._(
- <dynamic>['newCameraPosition', cameraPosition._toMap()],
+ <dynamic>['newCameraPosition', cameraPosition.toMap()],
);
}
diff --git a/packages/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/lib/src/google_map.dart
index 11a8390..5c802a2 100644
--- a/packages/google_maps_flutter/lib/src/google_map.dart
+++ b/packages/google_maps_flutter/lib/src/google_map.dart
@@ -192,7 +192,7 @@
@override
Widget build(BuildContext context) {
final Map<String, dynamic> creationParams = <String, dynamic>{
- 'initialCameraPosition': widget.initialCameraPosition?._toMap(),
+ 'initialCameraPosition': widget.initialCameraPosition?.toMap(),
'options': _googleMapOptions.toMap(),
'markersToAdd': _serializeMarkerSet(widget.markers),
'polygonsToAdd': _serializePolygonSet(widget.polygons),
diff --git a/packages/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/pubspec.yaml
index 0bcf6de..b99203f 100644
--- a/packages/google_maps_flutter/pubspec.yaml
+++ b/packages/google_maps_flutter/pubspec.yaml
@@ -2,7 +2,7 @@
description: A Flutter plugin for integrating Google Maps in iOS and Android applications.
author: Flutter Team <flutter-dev@googlegroups.com>
homepage: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter
-version: 0.5.20+4
+version: 0.5.20+5
dependencies:
flutter: