diff --git a/place_tracker/.gitignore b/place_tracker/.gitignore
index 808f1fc86..990b030d1 100644
--- a/place_tracker/.gitignore
+++ b/place_tracker/.gitignore
@@ -69,3 +69,6 @@
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
+
+# Flutter Web files
+lib/generated_plugin_registrant.dart
diff --git a/place_tracker/README.md b/place_tracker/README.md
index 2c0a2ea83..44dbc464b 100644
--- a/place_tracker/README.md
+++ b/place_tracker/README.md
@@ -61,6 +61,13 @@ Specify your API key in `AppDelegate.swift`:
}
```
+### Web
+Add your API key to `web/index.html` in the `
` tag:
+
+```
+
+```
+
For additional help setting up the plugin, see the plugin's
[README](https://pub.dev/packages/google_maps_flutter)
page.
diff --git a/place_tracker/lib/place_map.dart b/place_tracker/lib/place_map.dart
index 1b2c184f4..ae0f00f62 100644
--- a/place_tracker/lib/place_map.dart
+++ b/place_tracker/lib/place_map.dart
@@ -15,6 +15,7 @@ class MapConfiguration {
final List places;
final PlaceCategory selectedCategory;
+
const MapConfiguration({
@required this.places,
@required this.selectedCategory,
@@ -133,7 +134,21 @@ class PlaceMapState extends State {
});
// Zoom to fit the initially selected category.
- await _zoomToFitPlaces(
+ _zoomToFitSelectedCategory();
+ }
+
+ @override
+ void didUpdateWidget(PlaceMap oldWidget) {
+ super.didUpdateWidget(oldWidget);
+ // Zoom to fit the selected category.
+ if (mounted) {
+ _zoomToFitSelectedCategory();
+ }
+ }
+
+ /// Applies zoom to fit the places of the selected category
+ void _zoomToFitSelectedCategory() {
+ _zoomToFitPlaces(
_getPlacesForCategory(
Provider.of(context, listen: false).selectedCategory,
_markedPlaces.values.toList(),
@@ -414,11 +429,13 @@ class PlaceMapState extends State {
switch (category) {
case PlaceCategory.favorite:
return BitmapDescriptor.fromAssetImage(
- createLocalImageConfiguration(context), 'assets/heart.png');
+ createLocalImageConfiguration(context, size: Size.square(32)),
+ 'assets/heart.png');
break;
case PlaceCategory.visited:
return BitmapDescriptor.fromAssetImage(
- createLocalImageConfiguration(context), 'assets/visited.png');
+ createLocalImageConfiguration(context, size: Size.square(32)),
+ 'assets/visited.png');
break;
case PlaceCategory.wantToGo:
default:
@@ -437,6 +454,7 @@ class _AddPlaceButtonBar extends StatelessWidget {
final VoidCallback onSavePressed;
final VoidCallback onCancelPressed;
+
const _AddPlaceButtonBar({
Key key,
@required this.visible,
diff --git a/place_tracker/pubspec.lock b/place_tracker/pubspec.lock
index 2ac5eaefd..5343243c2 100644
--- a/place_tracker/pubspec.lock
+++ b/place_tracker/pubspec.lock
@@ -7,42 +7,42 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
- version: "2.4.2"
+ version: "2.5.0-nullsafety"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0-nullsafety"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0"
+ version: "1.1.0-nullsafety.2"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.3"
+ version: "1.2.0-nullsafety"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.1"
+ version: "1.1.0-nullsafety"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
- version: "1.14.13"
+ version: "1.15.0-nullsafety.2"
convert:
dependency: transitive
description:
@@ -57,6 +57,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
+ csslib:
+ dependency: transitive
+ description:
+ name: csslib
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.16.2"
cupertino_icons:
dependency: "direct main"
description:
@@ -70,7 +77,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.0"
+ version: "1.1.0-nullsafety"
flutter:
dependency: "direct main"
description: flutter
@@ -82,19 +89,31 @@ packages:
name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.8"
+ version: "1.0.9"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
+ flutter_web_plugins:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ google_maps:
+ dependency: transitive
+ description:
+ name: google_maps
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "3.4.5"
google_maps_flutter:
dependency: "direct main"
description:
name: google_maps_flutter
url: "https://pub.dartlang.org"
source: hosted
- version: "0.5.30"
+ version: "0.5.32"
google_maps_flutter_platform_interface:
dependency: transitive
description:
@@ -102,20 +121,41 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
+ google_maps_flutter_web:
+ dependency: "direct main"
+ description:
+ name: google_maps_flutter_web
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.1.0+2"
+ html:
+ dependency: transitive
+ description:
+ name: html
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.14.0+3"
+ js_wrapping:
+ dependency: transitive
+ description:
+ name: js_wrapping
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.5.0"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
- version: "0.12.8"
+ version: "0.12.10-nullsafety"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.8"
+ version: "1.3.0-nullsafety.2"
nested:
dependency: transitive
description:
@@ -129,14 +169,14 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
- version: "1.7.0"
+ version: "1.8.0-nullsafety"
pedantic:
dependency: "direct dev"
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
- version: "1.9.0"
+ version: "1.9.2"
plugin_platform_interface:
dependency: transitive
description:
@@ -150,7 +190,14 @@ packages:
name: provider
url: "https://pub.dartlang.org"
source: hosted
- version: "4.3.2"
+ version: "4.3.2+2"
+ sanitize_html:
+ dependency: transitive
+ description:
+ name: sanitize_html
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.3.0"
sky_engine:
dependency: transitive
description: flutter
@@ -162,21 +209,21 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
- version: "1.7.0"
+ version: "1.8.0-nullsafety"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
- version: "1.9.5"
+ version: "1.10.0-nullsafety"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0-nullsafety"
stream_transform:
dependency: transitive
description:
@@ -190,42 +237,42 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.5"
+ version: "1.1.0-nullsafety"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.0"
+ version: "1.2.0-nullsafety"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.17"
+ version: "0.2.19-nullsafety"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
- version: "1.2.0"
+ version: "1.3.0-nullsafety.2"
uuid:
dependency: "direct main"
description:
name: uuid
url: "https://pub.dartlang.org"
source: hosted
- version: "2.2.0"
+ version: "2.2.2"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.8"
+ version: "2.1.0-nullsafety.2"
sdks:
- dart: ">=2.9.0-14.0.dev <3.0.0"
+ dart: ">=2.10.0-0.0.dev <2.10.0"
flutter: ">=1.16.3 <2.0.0"
diff --git a/place_tracker/pubspec.yaml b/place_tracker/pubspec.yaml
index 86caed3a6..8c7461f53 100644
--- a/place_tracker/pubspec.yaml
+++ b/place_tracker/pubspec.yaml
@@ -11,7 +11,8 @@ dependencies:
sdk: flutter
cupertino_icons: ^0.1.3
- google_maps_flutter: ^0.5.27
+ google_maps_flutter: ^0.5.0
+ google_maps_flutter_web: ^0.1.0
provider: ^4.0.0
uuid: ^2.0.4
diff --git a/place_tracker/web/favicon.png b/place_tracker/web/favicon.png
new file mode 100644
index 000000000..8aaa46ac1
Binary files /dev/null and b/place_tracker/web/favicon.png differ
diff --git a/place_tracker/web/icons/Icon-192.png b/place_tracker/web/icons/Icon-192.png
new file mode 100644
index 000000000..b749bfef0
Binary files /dev/null and b/place_tracker/web/icons/Icon-192.png differ
diff --git a/place_tracker/web/icons/Icon-512.png b/place_tracker/web/icons/Icon-512.png
new file mode 100644
index 000000000..88cfd48df
Binary files /dev/null and b/place_tracker/web/icons/Icon-512.png differ
diff --git a/place_tracker/web/index.html b/place_tracker/web/index.html
new file mode 100644
index 000000000..370640437
--- /dev/null
+++ b/place_tracker/web/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ place_tracker
+
+
+
+
+
+
+
+
diff --git a/place_tracker/web/manifest.json b/place_tracker/web/manifest.json
new file mode 100644
index 000000000..f93728fef
--- /dev/null
+++ b/place_tracker/web/manifest.json
@@ -0,0 +1,23 @@
+{
+ "name": "place_tracker",
+ "short_name": "place_tracker",
+ "start_url": ".",
+ "display": "standalone",
+ "background_color": "#0175C2",
+ "theme_color": "#0175C2",
+ "description": "A new Flutter project.",
+ "orientation": "portrait-primary",
+ "prefer_related_applications": false,
+ "icons": [
+ {
+ "src": "icons/Icon-192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "icons/Icon-512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ]
+}
diff --git a/web/peanut.yaml b/web/peanut.yaml
index 64eba30a6..d3e2abd18 100644
--- a/web/peanut.yaml
+++ b/web/peanut.yaml
@@ -12,5 +12,6 @@ directories:
- vision_challenge/web
- form_app/web
- web_dashboard/web
+- place_tracker/web
post-build-dart-script: _tool/peanut_post_build.dart
diff --git a/web/place_tracker b/web/place_tracker
new file mode 120000
index 000000000..696a250a0
--- /dev/null
+++ b/web/place_tracker
@@ -0,0 +1 @@
+../place_tracker
\ No newline at end of file