From 92cff5d8792dfcd56d6879c115956784bd3b1e5a Mon Sep 17 00:00:00 2001 From: "jgessinger@aeins.de" Date: Tue, 18 Jun 2024 07:41:53 +0200 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFfeat(google-maps):=20Optimize=20@googl?= =?UTF-8?q?emaps/js-api-loader=20to=20use=20importLibrary=20method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++++++++++++++++++++ plugin/src/web.ts | 6 ++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6d9e3473..6dea13a6 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ export default MyMap; * [`enableAccessibilityElements(...)`](#enableaccessibilityelements) * [`enableCurrentLocation(...)`](#enablecurrentlocation) * [`setPadding(...)`](#setpadding) +* [`getMapBounds()`](#getmapbounds) * [`fitBounds(...)`](#fitbounds) * [`setOnBoundsChangedListener(...)`](#setonboundschangedlistener) * [`setOnCameraIdleListener(...)`](#setoncameraidlelistener) @@ -654,6 +655,19 @@ setPadding(padding: MapPadding) => Promise -------------------- +### getMapBounds() + +```typescript +getMapBounds() => Promise +``` + +Get the map's current viewport latitude and longitude bounds. + +**Returns:** Promise<LatLngBounds> + +-------------------- + + ### fitBounds(...) ```typescript @@ -1169,6 +1183,13 @@ but the current specification only allows X, Y, and (optionally) Z to be defined number[] +#### Marker + +Supports markers of either either "legacy" or "advanced" types. + +google.maps.Marker | google.maps.marker.AdvancedMarkerElement + + ### Enums diff --git a/plugin/src/web.ts b/plugin/src/web.ts index 08fa11ce..6dfb0037 100644 --- a/plugin/src/web.ts +++ b/plugin/src/web.ts @@ -30,7 +30,7 @@ import type { } from './implementation'; export class CapacitorGoogleMapsWeb extends WebPlugin implements CapacitorGoogleMapsPlugin { - private gMapsRef: typeof google.maps | undefined = undefined; + private gMapsRef: google.maps.MapsLibrary | undefined = undefined; private AdvancedMarkerElement: typeof google.maps.marker.AdvancedMarkerElement | undefined = undefined; private PinElement: typeof google.maps.marker.PinElement | undefined = undefined; private maps: { @@ -119,12 +119,10 @@ export class CapacitorGoogleMapsWeb extends WebPlugin implements CapacitorGoogle const loader = new lib.Loader({ apiKey: apiKey ?? '', version: 'weekly', - libraries: ['places'], language, region, }); - const google = await loader.load(); - this.gMapsRef = google.maps; + this.gMapsRef = await loader.importLibrary('maps'); // Import marker library once const { AdvancedMarkerElement, PinElement } = (await google.maps.importLibrary(