From 2acb4aa23a80a5bf5d10e3dc16d13b2dc3d347bc Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Mon, 11 Jan 2021 20:06:38 +0100 Subject: [PATCH] feat(google-maps): add heatmap support Adds support for rendering heatmaps on the `google-map` component using the `map-heatmap-layer` directive. The directive is mostly a direct wrapper around the `google.maps.visualization.HeatmapLayer` class, except for the fact that it also accepts a `LatLngLiteral`, whereas the Google Maps class only accepts `LatLng` objects. I decided to add some logic to convert them automatically, because creating `LatLng` requires the Maps API to have been loaded which can lead to race conditions if it's being loaded lazily. --- package.json | 2 +- src/dev-app/google-map/google-map-demo.html | 10 ++ src/dev-app/google-map/google-map-demo.ts | 20 +++ src/dev-app/index.html | 4 +- src/google-maps/README.md | 24 ++- src/google-maps/google-maps-module.ts | 2 + src/google-maps/map-heatmap-layer/README.md | 64 +++++++ .../map-heatmap-layer.spec.ts | 166 +++++++++++++++++ .../map-heatmap-layer/map-heatmap-layer.ts | 169 ++++++++++++++++++ src/google-maps/package.json | 2 +- src/google-maps/public-api.ts | 1 + .../testing/fake-google-map-utils.ts | 62 +++++++ .../kitchen-sink/kitchen-sink.html | 5 + .../google-maps/google-maps.d.ts | 17 +- yarn.lock | 8 +- 15 files changed, 542 insertions(+), 14 deletions(-) create mode 100644 src/google-maps/map-heatmap-layer/README.md create mode 100644 src/google-maps/map-heatmap-layer/map-heatmap-layer.spec.ts create mode 100644 src/google-maps/map-heatmap-layer/map-heatmap-layer.ts diff --git a/package.json b/package.json index 39a5484f9184..835ef4938cc4 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "@angular/elements": "^11.1.0", "@angular/forms": "^11.1.0", "@angular/platform-browser": "^11.1.0", - "@types/googlemaps": "^3.43.0", + "@types/googlemaps": "^3.43.1", "@types/youtube": "^0.0.40", "@webcomponents/custom-elements": "^1.1.0", "core-js-bundle": "^3.8.2", diff --git a/src/dev-app/google-map/google-map-demo.html b/src/dev-app/google-map/google-map-demo.html index 7471a0fa3d02..f2512c6acb46 100644 --- a/src/dev-app/google-map/google-map-demo.html +++ b/src/dev-app/google-map/google-map-demo.html @@ -33,6 +33,9 @@ +

{{display?.lat}}

@@ -153,6 +156,13 @@ +
+ +
+