@angular/google-maps 20.0.0-next.0 → 20.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,304 +1,14 @@
1
1
  /// <reference types="google.maps" />
2
-
3
- import { AfterContentInit } from '@angular/core';
4
- import { EventEmitter } from '@angular/core';
5
2
  import * as i0 from '@angular/core';
6
- import { NgZone } from '@angular/core';
3
+ import { OnChanges, OnInit, OnDestroy, EventEmitter, SimpleChanges, NgZone, AfterContentInit, QueryList } from '@angular/core';
7
4
  import { Observable } from 'rxjs';
8
- import { OnChanges } from '@angular/core';
9
- import { OnDestroy } from '@angular/core';
10
- import { OnInit } from '@angular/core';
11
- import { QueryList } from '@angular/core';
12
- import { SimpleChanges } from '@angular/core';
13
-
14
- declare interface Algorithm_2 {
15
- /**
16
- * Calculates an array of {@link Cluster}.
17
- */
18
- calculate: ({ markers, map }: AlgorithmInput) => AlgorithmOutput;
19
- }
20
- export { Algorithm_2 as Algorithm }
21
-
22
- export declare interface AlgorithmInput {
23
- /**
24
- * The map containing the markers and clusters.
25
- */
26
- map: google.maps.Map;
27
- /**
28
- * An array of markers to be clustered.
29
- *
30
- * There are some specific edge cases to be aware of including the following:
31
- * * Markers that are not visible.
32
- */
33
- markers: Marker[];
34
- /**
35
- * The `mapCanvasProjection` enables easy conversion from lat/lng to pixel.
36
- *
37
- * @see [MapCanvasProjection](https://developers.google.com/maps/documentation/javascript/reference/overlay-view#MapCanvasProjection)
38
- */
39
- mapCanvasProjection: google.maps.MapCanvasProjection;
40
- }
41
-
42
- export declare interface AlgorithmOptions {
43
- maxZoom?: number;
44
- }
45
-
46
- export declare interface AlgorithmOutput {
47
- /**
48
- * The clusters returned based upon the {@link AlgorithmInput}.
49
- */
50
- clusters: Cluster[];
51
- /**
52
- * A boolean flag indicating that the clusters have not changed.
53
- */
54
- changed?: boolean;
55
- }
56
-
57
- /**
58
- * Function type alias for determining the aria label on a Google Maps marker cluster.
59
- *
60
- * See googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#arialabelfn
61
- */
62
- export declare type AriaLabelFn = (text: string) => string;
63
-
64
- /**
65
- * Function type alias for calculating how a marker cluster is displayed.
66
- *
67
- * See googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#calculator
68
- */
69
- export declare type Calculator = (markers: google.maps.Marker[], clusterIconStylesCount: number) => ClusterIconInfo;
70
-
71
- export declare interface Cluster {
72
- marker?: Marker;
73
- readonly markers?: Marker[];
74
- bounds?: google.maps.LatLngBounds;
75
- position: google.maps.LatLng;
76
- count: number;
77
- push(marker: Marker): void;
78
- delete(): void;
79
- new (options: ClusterOptions): Cluster;
80
- }
81
-
82
- /**
83
- * Cluster class from the @google/markerclustererplus library.
84
- *
85
- * See googlemaps.github.io/v3-utility-library/classes/_google_markerclustererplus.cluster.html
86
- */
87
- declare class Cluster_2 {
88
- constructor(markerClusterer: MarkerClusterer_2);
89
- getCenter(): google.maps.LatLng;
90
- getMarkers(): google.maps.Marker[];
91
- getSize(): number;
92
- updateIcon(): void;
93
- }
94
-
95
- /**
96
- * Info interface for a marker cluster icon.
97
- *
98
- * See
99
- * googlemaps.github.io/v3-utility-library/interfaces/
100
- * _google_markerclustererplus.clustericoninfo.html
101
- */
102
- declare interface ClusterIconInfo {
103
- index: number;
104
- text: string;
105
- title: string;
106
- }
107
-
108
- /**
109
- * Style interface for a marker cluster icon.
110
- *
111
- * See
112
- * googlemaps.github.io/v3-utility-library/interfaces/
113
- * _google_markerclustererplus.clustericonstyle.html
114
- */
115
- export declare interface ClusterIconStyle {
116
- anchorIcon?: [number, number];
117
- anchorText?: [number, number];
118
- backgroundPosition?: string;
119
- className?: string;
120
- fontFamily?: string;
121
- fontStyle?: string;
122
- fontWeight?: string;
123
- height: number;
124
- textColor?: string;
125
- textDecoration?: string;
126
- textLineHeight?: number;
127
- textSize?: number;
128
- url?: string;
129
- width: number;
130
- }
131
-
132
- export declare interface ClusterOptions {
133
- position?: google.maps.LatLng | google.maps.LatLngLiteral;
134
- markers?: Marker[];
135
- }
136
-
137
- export declare interface ClusterStats {
138
- markers: {
139
- sum: number;
140
- };
141
- clusters: {
142
- count: number;
143
- markers: {
144
- mean: number;
145
- sum: number;
146
- min: number;
147
- max: number;
148
- };
149
- };
150
- new (markers: Marker[], clusters: Cluster[]): ClusterStats;
151
- }
152
-
153
- /** Arbitrary default height for the map element */
154
- declare const DEFAULT_HEIGHT = "500px";
155
-
156
- /**
157
- * Default options for the Google Maps marker component. Displays a marker
158
- * at the Googleplex.
159
- */
160
- declare const DEFAULT_MARKER_OPTIONS: {
161
- position: {
162
- lat: number;
163
- lng: number;
164
- };
165
- };
166
-
167
- /**
168
- * Default options for the Google Maps marker component. Displays a marker
169
- * at the Googleplex.
170
- */
171
- declare const DEFAULT_MARKER_OPTIONS_2: {
172
- position: {
173
- lat: number;
174
- lng: number;
175
- };
176
- };
177
-
178
- /** default options set to the Googleplex */
179
- declare const DEFAULT_OPTIONS: google.maps.MapOptions;
180
-
181
- /** Arbitrary default width for the map element */
182
- declare const DEFAULT_WIDTH = "500px";
183
-
184
- export declare const defaultOnClusterClickHandler: onClusterClickHandler;
185
-
186
- /**
187
- * Angular component for implementing a Google Maps Marker Clusterer.
188
- * See https://developers.google.com/maps/documentation/javascript/marker-clustering
189
- *
190
- * @deprecated This component is using a deprecated clustering implementation. Use the
191
- * `map-marker-clusterer` component instead.
192
- * @breaking-change 21.0.0
193
- *
194
- */
195
- export declare class DeprecatedMapMarkerClusterer implements OnInit, AfterContentInit, OnChanges, OnDestroy {
196
- private readonly _googleMap;
197
- private readonly _ngZone;
198
- private readonly _currentMarkers;
199
- private readonly _eventManager;
200
- private readonly _destroy;
201
- /** Whether the clusterer is allowed to be initialized. */
202
- private readonly _canInitialize;
203
- ariaLabelFn: AriaLabelFn;
204
- set averageCenter(averageCenter: boolean);
205
- private _averageCenter;
206
- batchSize?: number;
207
- set batchSizeIE(batchSizeIE: number);
208
- private _batchSizeIE;
209
- set calculator(calculator: Calculator);
210
- private _calculator;
211
- set clusterClass(clusterClass: string);
212
- private _clusterClass;
213
- set enableRetinaIcons(enableRetinaIcons: boolean);
214
- private _enableRetinaIcons;
215
- set gridSize(gridSize: number);
216
- private _gridSize;
217
- set ignoreHidden(ignoreHidden: boolean);
218
- private _ignoreHidden;
219
- set imageExtension(imageExtension: string);
220
- private _imageExtension;
221
- set imagePath(imagePath: string);
222
- private _imagePath;
223
- set imageSizes(imageSizes: number[]);
224
- private _imageSizes;
225
- set maxZoom(maxZoom: number);
226
- private _maxZoom;
227
- set minimumClusterSize(minimumClusterSize: number);
228
- private _minimumClusterSize;
229
- set styles(styles: ClusterIconStyle[]);
230
- private _styles;
231
- set title(title: string);
232
- private _title;
233
- set zIndex(zIndex: number);
234
- private _zIndex;
235
- set zoomOnClick(zoomOnClick: boolean);
236
- private _zoomOnClick;
237
- set options(options: MarkerClustererOptions);
238
- private _options;
239
- /**
240
- * See
241
- * googlemaps.github.io/v3-utility-library/modules/
242
- * _google_markerclustererplus.html#clusteringbegin
243
- */
244
- readonly clusteringbegin: Observable<void>;
245
- /**
246
- * See
247
- * googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#clusteringend
248
- */
249
- readonly clusteringend: Observable<void>;
250
- /** Emits when a cluster has been clicked. */
251
- readonly clusterClick: Observable<Cluster_2>;
252
- _markers: QueryList<MapMarker>;
253
- /**
254
- * The underlying MarkerClusterer object.
255
- *
256
- * See
257
- * googlemaps.github.io/v3-utility-library/classes/
258
- * _google_markerclustererplus.markerclusterer.html
259
- */
260
- markerClusterer?: MarkerClusterer_2;
261
- /** Event emitted when the clusterer is initialized. */
262
- readonly markerClustererInitialized: EventEmitter<MarkerClusterer_2>;
263
- constructor(...args: unknown[]);
264
- ngOnInit(): void;
265
- ngAfterContentInit(): void;
266
- ngOnChanges(changes: SimpleChanges): void;
267
- ngOnDestroy(): void;
268
- fitMapToMarkers(padding: number | google.maps.Padding): void;
269
- getAverageCenter(): boolean;
270
- getBatchSizeIE(): number;
271
- getCalculator(): Calculator;
272
- getClusterClass(): string;
273
- getClusters(): Cluster_2[];
274
- getEnableRetinaIcons(): boolean;
275
- getGridSize(): number;
276
- getIgnoreHidden(): boolean;
277
- getImageExtension(): string;
278
- getImagePath(): string;
279
- getImageSizes(): number[];
280
- getMaxZoom(): number;
281
- getMinimumClusterSize(): number;
282
- getStyles(): ClusterIconStyle[];
283
- getTitle(): string;
284
- getTotalClusters(): number;
285
- getTotalMarkers(): number;
286
- getZIndex(): number;
287
- getZoomOnClick(): boolean;
288
- private _combineOptions;
289
- private _watchForMarkerChanges;
290
- private _getInternalMarkers;
291
- private _assertInitialized;
292
- static ɵfac: i0.ɵɵFactoryDeclaration<DeprecatedMapMarkerClusterer, never>;
293
- static ɵcmp: i0.ɵɵComponentDeclaration<DeprecatedMapMarkerClusterer, "deprecated-map-marker-clusterer", ["mapMarkerClusterer"], { "ariaLabelFn": { "alias": "ariaLabelFn"; "required": false; }; "averageCenter": { "alias": "averageCenter"; "required": false; }; "batchSize": { "alias": "batchSize"; "required": false; }; "batchSizeIE": { "alias": "batchSizeIE"; "required": false; }; "calculator": { "alias": "calculator"; "required": false; }; "clusterClass": { "alias": "clusterClass"; "required": false; }; "enableRetinaIcons": { "alias": "enableRetinaIcons"; "required": false; }; "gridSize": { "alias": "gridSize"; "required": false; }; "ignoreHidden": { "alias": "ignoreHidden"; "required": false; }; "imageExtension": { "alias": "imageExtension"; "required": false; }; "imagePath": { "alias": "imagePath"; "required": false; }; "imageSizes": { "alias": "imageSizes"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "minimumClusterSize": { "alias": "minimumClusterSize"; "required": false; }; "styles": { "alias": "styles"; "required": false; }; "title": { "alias": "title"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "zoomOnClick": { "alias": "zoomOnClick"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "clusteringbegin": "clusteringbegin"; "clusteringend": "clusteringend"; "clusterClick": "clusterClick"; "markerClustererInitialized": "markerClustererInitialized"; }, ["_markers"], ["*"], true, never>;
294
- }
295
5
 
296
6
  /**
297
7
  * Angular component that renders a Google Map via the Google Maps JavaScript
298
8
  * API.
299
9
  * @see https://developers.google.com/maps/documentation/javascript/reference/
300
10
  */
301
- export declare class GoogleMap implements OnChanges, OnInit, OnDestroy {
11
+ declare class GoogleMap implements OnChanges, OnInit, OnDestroy {
302
12
  private readonly _elementRef;
303
13
  private _ngZone;
304
14
  private _eventManager;
@@ -530,259 +240,18 @@ export declare class GoogleMap implements OnChanges, OnInit, OnDestroy {
530
240
  static ɵcmp: i0.ɵɵComponentDeclaration<GoogleMap, "google-map", ["googleMap"], { "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "mapId": { "alias": "mapId"; "required": false; }; "mapTypeId": { "alias": "mapTypeId"; "required": false; }; "center": { "alias": "center"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "mapInitialized": "mapInitialized"; "authFailure": "authFailure"; "boundsChanged": "boundsChanged"; "centerChanged": "centerChanged"; "mapClick": "mapClick"; "mapDblclick": "mapDblclick"; "mapDrag": "mapDrag"; "mapDragend": "mapDragend"; "mapDragstart": "mapDragstart"; "headingChanged": "headingChanged"; "idle": "idle"; "maptypeidChanged": "maptypeidChanged"; "mapMousemove": "mapMousemove"; "mapMouseout": "mapMouseout"; "mapMouseover": "mapMouseover"; "projectionChanged": "projectionChanged"; "mapRightclick": "mapRightclick"; "tilesloaded": "tilesloaded"; "tiltChanged": "tiltChanged"; "zoomChanged": "zoomChanged"; }, never, ["*"], true, never>;
531
241
  }
532
242
 
533
- export declare class GoogleMapsModule {
534
- static ɵfac: i0.ɵɵFactoryDeclaration<GoogleMapsModule, never>;
535
- static ɵmod: i0.ɵɵNgModuleDeclaration<GoogleMapsModule, never, [typeof i1.GoogleMap, typeof i2.MapBaseLayer, typeof i3.MapBicyclingLayer, typeof i4.MapCircle, typeof i5.MapDirectionsRenderer, typeof i6.MapGroundOverlay, typeof i7.MapHeatmapLayer, typeof i8.MapInfoWindow, typeof i9.MapKmlLayer, typeof i10.MapMarker, typeof i11.MapAdvancedMarker, typeof i12.DeprecatedMapMarkerClusterer, typeof i13.MapPolygon, typeof i14.MapPolyline, typeof i15.MapRectangle, typeof i16.MapTrafficLayer, typeof i17.MapTransitLayer, typeof i18.MapMarkerClusterer], [typeof i1.GoogleMap, typeof i2.MapBaseLayer, typeof i3.MapBicyclingLayer, typeof i4.MapCircle, typeof i5.MapDirectionsRenderer, typeof i6.MapGroundOverlay, typeof i7.MapHeatmapLayer, typeof i8.MapInfoWindow, typeof i9.MapKmlLayer, typeof i10.MapMarker, typeof i11.MapAdvancedMarker, typeof i12.DeprecatedMapMarkerClusterer, typeof i13.MapPolygon, typeof i14.MapPolyline, typeof i15.MapRectangle, typeof i16.MapTrafficLayer, typeof i17.MapTransitLayer, typeof i18.MapMarkerClusterer]>;
536
- static ɵinj: i0.ɵɵInjectorDeclaration<GoogleMapsModule>;
537
- }
538
-
539
- /** Possible data that can be shown on a heatmap layer. */
540
- export declare type HeatmapData = google.maps.MVCArray<google.maps.LatLng | google.maps.visualization.WeightedLocation | google.maps.LatLngLiteral> | (google.maps.LatLng | google.maps.visualization.WeightedLocation | google.maps.LatLngLiteral)[];
541
-
542
- declare namespace i1 {
543
- export {
544
- DEFAULT_OPTIONS,
545
- DEFAULT_HEIGHT,
546
- DEFAULT_WIDTH,
547
- GoogleMap
548
- }
549
- }
550
-
551
- declare namespace i10 {
552
- export {
553
- DEFAULT_MARKER_OPTIONS,
554
- MapMarker
555
- }
556
- }
557
-
558
- declare namespace i11 {
559
- export {
560
- DEFAULT_MARKER_OPTIONS_2 as DEFAULT_MARKER_OPTIONS,
561
- MapAdvancedMarker
562
- }
563
- }
564
-
565
- declare namespace i12 {
566
- export {
567
- DeprecatedMapMarkerClusterer
568
- }
569
- }
570
-
571
- declare namespace i13 {
572
- export {
573
- MapPolygon
574
- }
575
- }
576
-
577
- declare namespace i14 {
578
- export {
579
- MapPolyline
580
- }
581
- }
582
-
583
- declare namespace i15 {
584
- export {
585
- MapRectangle
586
- }
587
- }
588
-
589
- declare namespace i16 {
590
- export {
591
- MapTrafficLayer
592
- }
593
- }
594
-
595
- declare namespace i17 {
596
- export {
597
- MapTransitLayer
598
- }
599
- }
600
-
601
- declare namespace i18 {
602
- export {
603
- MapMarkerClusterer
604
- }
605
- }
606
-
607
- declare namespace i2 {
608
- export {
609
- MapBaseLayer
610
- }
611
- }
612
-
613
- declare namespace i3 {
614
- export {
615
- MapBicyclingLayer
616
- }
617
- }
618
-
619
- declare namespace i4 {
620
- export {
621
- MapCircle
622
- }
623
- }
624
-
625
- declare namespace i5 {
626
- export {
627
- MapDirectionsRenderer
628
- }
629
- }
630
-
631
- declare namespace i6 {
632
- export {
633
- MapGroundOverlay
634
- }
635
- }
636
-
637
- declare namespace i7 {
638
- export {
639
- HeatmapData,
640
- MapHeatmapLayer
641
- }
642
- }
643
-
644
- declare namespace i8 {
645
- export {
646
- MapInfoWindow
647
- }
648
- }
649
-
650
- declare namespace i9 {
651
- export {
652
- MapKmlLayer
653
- }
654
- }
655
-
656
- /**
657
- * Angular component that renders a Google Maps marker via the Google Maps JavaScript API.
658
- *
659
- * See developers.google.com/maps/documentation/javascript/reference/marker
660
- */
661
- export declare class MapAdvancedMarker implements OnInit, OnChanges, OnDestroy, MapAnchorPoint, MarkerDirective {
662
- private readonly _googleMap;
663
- private _ngZone;
664
- private _eventManager;
665
- /**
666
- * Rollover text. If provided, an accessibility text (e.g. for use with screen readers) will be added to the AdvancedMarkerElement with the provided value.
667
- * See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.title
668
- */
669
- set title(title: string);
670
- private _title;
671
- /**
672
- * Sets the AdvancedMarkerElement's position. An AdvancedMarkerElement may be constructed without a position, but will not be displayed until its position is provided - for example, by a user's actions or choices. An AdvancedMarkerElement's position can be provided by setting AdvancedMarkerElement.position if not provided at the construction.
673
- * Note: AdvancedMarkerElement with altitude is only supported on vector maps.
674
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.position
675
- */
676
- set position(position: google.maps.LatLngLiteral | google.maps.LatLng | google.maps.LatLngAltitude | google.maps.LatLngAltitudeLiteral);
677
- private _position;
678
- /**
679
- * The DOM Element backing the visual of an AdvancedMarkerElement.
680
- * Note: AdvancedMarkerElement does not clone the passed-in DOM element. Once the DOM element is passed to an AdvancedMarkerElement, passing the same DOM element to another AdvancedMarkerElement will move the DOM element and cause the previous AdvancedMarkerElement to look empty.
681
- * See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.content
682
- */
683
- set content(content: Node | google.maps.marker.PinElement | null);
684
- private _content;
685
- /**
686
- * If true, the AdvancedMarkerElement can be dragged.
687
- * Note: AdvancedMarkerElement with altitude is not draggable.
688
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.gmpDraggable
689
- */
690
- set gmpDraggable(draggable: boolean);
691
- private _draggable;
692
- /**
693
- * Options for constructing an AdvancedMarkerElement.
694
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions
695
- */
696
- set options(options: google.maps.marker.AdvancedMarkerElementOptions);
697
- private _options;
698
- /**
699
- * AdvancedMarkerElements on the map are prioritized by zIndex, with higher values indicating higher display.
700
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.zIndex
701
- */
702
- set zIndex(zIndex: number);
703
- private _zIndex;
704
- /**
705
- * This event is fired when the AdvancedMarkerElement element is clicked.
706
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.click
707
- */
708
- readonly mapClick: Observable<google.maps.MapMouseEvent>;
709
- /**
710
- * This event is fired when the AdvancedMarkerElement is double-clicked.
711
- */
712
- readonly mapDblclick: Observable<google.maps.MapMouseEvent>;
713
- /**
714
- * This event is fired when the mouse moves out of the AdvancedMarkerElement.
715
- */
716
- readonly mapMouseout: Observable<google.maps.MapMouseEvent>;
717
- /**
718
- * This event is fired when the mouse moves over the AdvancedMarkerElement.
719
- */
720
- readonly mapMouseover: Observable<google.maps.MapMouseEvent>;
721
- /**
722
- * This event is fired when the mouse button is released over the AdvancedMarkerElement.
723
- */
724
- readonly mapMouseup: Observable<google.maps.MapMouseEvent>;
725
- /**
726
- * This event is fired when the AdvancedMarkerElement is right-clicked.
727
- */
728
- readonly mapRightclick: Observable<google.maps.MapMouseEvent>;
729
- /**
730
- * This event is repeatedly fired while the user drags the AdvancedMarkerElement.
731
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.drag
732
- */
733
- readonly mapDrag: Observable<google.maps.MapMouseEvent>;
734
- /**
735
- * This event is fired when the user stops dragging the AdvancedMarkerElement.
736
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragend
737
- */
738
- readonly mapDragend: Observable<google.maps.MapMouseEvent>;
739
- /**
740
- * This event is fired when the user starts dragging the AdvancedMarkerElement.
741
- * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragstart
742
- */
743
- readonly mapDragstart: Observable<google.maps.MapMouseEvent>;
744
- /** Event emitted when the marker is initialized. */
745
- readonly markerInitialized: EventEmitter<google.maps.marker.AdvancedMarkerElement>;
746
- /**
747
- * The underlying google.maps.marker.AdvancedMarkerElement object.
748
- *
749
- * See developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement
750
- */
751
- advancedMarker: google.maps.marker.AdvancedMarkerElement;
752
- constructor(...args: unknown[]);
753
- ngOnInit(): void;
754
- private _initialize;
755
- ngOnChanges(changes: SimpleChanges): void;
756
- ngOnDestroy(): void;
757
- getAnchor(): google.maps.marker.AdvancedMarkerElement;
758
- /** Returns a promise that resolves when the marker has been initialized. */
759
- _resolveMarker(): Promise<google.maps.marker.AdvancedMarkerElement>;
760
- /** Creates a combined options object using the passed-in options and the individual inputs. */
761
- private _combineOptions;
762
- /** Asserts that the map has been initialized. */
763
- private _assertInitialized;
764
- static ɵfac: i0.ɵɵFactoryDeclaration<MapAdvancedMarker, never>;
765
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapAdvancedMarker, "map-advanced-marker", ["mapAdvancedMarker"], { "title": { "alias": "title"; "required": false; }; "position": { "alias": "position"; "required": false; }; "content": { "alias": "content"; "required": false; }; "gmpDraggable": { "alias": "gmpDraggable"; "required": false; }; "options": { "alias": "options"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; }, { "mapClick": "mapClick"; "mapDblclick": "mapDblclick"; "mapMouseout": "mapMouseout"; "mapMouseover": "mapMouseover"; "mapMouseup": "mapMouseup"; "mapRightclick": "mapRightclick"; "mapDrag": "mapDrag"; "mapDragend": "mapDragend"; "mapDragstart": "mapDragstart"; "markerInitialized": "markerInitialized"; }, never, never, true, never>;
766
- }
767
-
768
-
769
- /// <reference types="google.maps" preserve="true" />
770
- export declare interface MapAnchorPoint {
771
- getAnchor(): google.maps.MVCObject | google.maps.marker.AdvancedMarkerElement;
772
- }
773
-
774
- export declare class MapBaseLayer implements OnInit, OnDestroy {
775
- protected readonly _map: GoogleMap;
776
- protected readonly _ngZone: NgZone;
777
- constructor(...args: unknown[]);
778
- ngOnInit(): void;
779
- ngOnDestroy(): void;
780
- private _assertInitialized;
781
- protected _initializeObject(): void;
782
- protected _setMap(): void;
783
- protected _unsetMap(): void;
784
- static ɵfac: i0.ɵɵFactoryDeclaration<MapBaseLayer, never>;
785
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapBaseLayer, "map-base-layer", ["mapBaseLayer"], {}, {}, never, never, true, never>;
243
+ declare class MapBaseLayer implements OnInit, OnDestroy {
244
+ protected readonly _map: GoogleMap;
245
+ protected readonly _ngZone: NgZone;
246
+ constructor(...args: unknown[]);
247
+ ngOnInit(): void;
248
+ ngOnDestroy(): void;
249
+ private _assertInitialized;
250
+ protected _initializeObject(): void;
251
+ protected _setMap(): void;
252
+ protected _unsetMap(): void;
253
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapBaseLayer, never>;
254
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapBaseLayer, "map-base-layer", ["mapBaseLayer"], {}, {}, never, never, true, never>;
786
255
  }
787
256
 
788
257
  /**
@@ -790,7 +259,7 @@ export declare class MapBaseLayer implements OnInit, OnDestroy {
790
259
  *
791
260
  * See developers.google.com/maps/documentation/javascript/reference/map#BicyclingLayer
792
261
  */
793
- export declare class MapBicyclingLayer implements OnInit, OnDestroy {
262
+ declare class MapBicyclingLayer implements OnInit, OnDestroy {
794
263
  private _map;
795
264
  private _zone;
796
265
  /**
@@ -813,7 +282,7 @@ export declare class MapBicyclingLayer implements OnInit, OnDestroy {
813
282
  * Angular component that renders a Google Maps Circle via the Google Maps JavaScript API.
814
283
  * @see developers.google.com/maps/documentation/javascript/reference/polygon#Circle
815
284
  */
816
- export declare class MapCircle implements OnInit, OnDestroy {
285
+ declare class MapCircle implements OnInit, OnDestroy {
817
286
  private readonly _map;
818
287
  private readonly _ngZone;
819
288
  private _eventManager;
@@ -946,7 +415,7 @@ export declare class MapCircle implements OnInit, OnDestroy {
946
415
  *
947
416
  * See developers.google.com/maps/documentation/javascript/reference/directions#DirectionsRenderer
948
417
  */
949
- export declare class MapDirectionsRenderer implements OnInit, OnChanges, OnDestroy {
418
+ declare class MapDirectionsRenderer implements OnInit, OnChanges, OnDestroy {
950
419
  private readonly _googleMap;
951
420
  private _ngZone;
952
421
  private _eventManager;
@@ -997,82 +466,12 @@ export declare class MapDirectionsRenderer implements OnInit, OnChanges, OnDestr
997
466
  static ɵdir: i0.ɵɵDirectiveDeclaration<MapDirectionsRenderer, "map-directions-renderer", ["mapDirectionsRenderer"], { "directions": { "alias": "directions"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "directionsChanged": "directionsChanged"; "directionsRendererInitialized": "directionsRendererInitialized"; }, never, never, true, never>;
998
467
  }
999
468
 
1000
- export declare interface MapDirectionsResponse {
1001
- status: google.maps.DirectionsStatus;
1002
- result?: google.maps.DirectionsResult;
1003
- }
1004
-
1005
- /**
1006
- * Angular service that wraps the Google Maps DirectionsService from the Google Maps JavaScript
1007
- * API.
1008
- *
1009
- * See developers.google.com/maps/documentation/javascript/reference/directions#DirectionsService
1010
- */
1011
- export declare class MapDirectionsService {
1012
- private readonly _ngZone;
1013
- private _directionsService;
1014
- constructor(...args: unknown[]);
1015
- /**
1016
- * See
1017
- * developers.google.com/maps/documentation/javascript/reference/directions
1018
- * #DirectionsService.route
1019
- */
1020
- route(request: google.maps.DirectionsRequest): Observable<MapDirectionsResponse>;
1021
- private _getService;
1022
- static ɵfac: i0.ɵɵFactoryDeclaration<MapDirectionsService, never>;
1023
- static ɵprov: i0.ɵɵInjectableDeclaration<MapDirectionsService>;
1024
- }
1025
-
1026
- /** Manages event on a Google Maps object, ensuring that events are added only when necessary. */
1027
- export declare class MapEventManager {
1028
- private _ngZone;
1029
- /** Pending listeners that were added before the target was set. */
1030
- private _pending;
1031
- private _listeners;
1032
- private _targetStream;
1033
- /** Clears all currently-registered event listeners. */
1034
- private _clearListeners;
1035
- constructor(_ngZone: NgZone);
1036
- /** Gets an observable that adds an event listener to the map when a consumer subscribes to it. */
1037
- getLazyEmitter<T>(name: string): Observable<T>;
1038
- /** Sets the current target that the manager should bind events to. */
1039
- setTarget(target: MapEventManagerTarget): void;
1040
- /** Destroys the manager and clears the event listeners. */
1041
- destroy(): void;
1042
- }
1043
-
1044
- declare type MapEventManagerTarget = {
1045
- addListener: (name: string, callback: (...args: any[]) => void) => google.maps.MapsEventListener | undefined;
1046
- } | undefined;
1047
-
1048
- /**
1049
- * Angular service that wraps the Google Maps Geocoder from the Google Maps JavaScript API.
1050
- * See developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder
1051
- */
1052
- export declare class MapGeocoder {
1053
- private readonly _ngZone;
1054
- private _geocoder;
1055
- constructor(...args: unknown[]);
1056
- /**
1057
- * See developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder.geocode
1058
- */
1059
- geocode(request: google.maps.GeocoderRequest): Observable<MapGeocoderResponse>;
1060
- private _getGeocoder;
1061
- static ɵfac: i0.ɵɵFactoryDeclaration<MapGeocoder, never>;
1062
- static ɵprov: i0.ɵɵInjectableDeclaration<MapGeocoder>;
1063
- }
1064
-
1065
- export declare interface MapGeocoderResponse {
1066
- status: google.maps.GeocoderStatus;
1067
- results: google.maps.GeocoderResult[];
1068
- }
1069
-
1070
469
  /**
1071
470
  * Angular component that renders a Google Maps Ground Overlay via the Google Maps JavaScript API.
1072
471
  *
1073
472
  * See developers.google.com/maps/documentation/javascript/reference/image-overlay#GroundOverlay
1074
473
  */
1075
- export declare class MapGroundOverlay implements OnInit, OnDestroy {
474
+ declare class MapGroundOverlay implements OnInit, OnDestroy {
1076
475
  private readonly _map;
1077
476
  private readonly _ngZone;
1078
477
  private _eventManager;
@@ -1138,12 +537,14 @@ export declare class MapGroundOverlay implements OnInit, OnDestroy {
1138
537
  static ɵdir: i0.ɵɵDirectiveDeclaration<MapGroundOverlay, "map-ground-overlay", ["mapGroundOverlay"], { "url": { "alias": "url"; "required": false; }; "bounds": { "alias": "bounds"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; }, { "mapClick": "mapClick"; "mapDblclick": "mapDblclick"; "groundOverlayInitialized": "groundOverlayInitialized"; }, never, never, true, never>;
1139
538
  }
1140
539
 
540
+ /** Possible data that can be shown on a heatmap layer. */
541
+ type HeatmapData = google.maps.MVCArray<google.maps.LatLng | google.maps.visualization.WeightedLocation | google.maps.LatLngLiteral> | (google.maps.LatLng | google.maps.visualization.WeightedLocation | google.maps.LatLngLiteral)[];
1141
542
  /**
1142
543
  * Angular directive that renders a Google Maps heatmap via the Google Maps JavaScript API.
1143
544
  *
1144
545
  * See: https://developers.google.com/maps/documentation/javascript/reference/visualization
1145
546
  */
1146
- export declare class MapHeatmapLayer implements OnInit, OnChanges, OnDestroy {
547
+ declare class MapHeatmapLayer implements OnInit, OnChanges, OnDestroy {
1147
548
  private readonly _googleMap;
1148
549
  private _ngZone;
1149
550
  /**
@@ -1193,12 +594,16 @@ export declare class MapHeatmapLayer implements OnInit, OnChanges, OnDestroy {
1193
594
  static ɵdir: i0.ɵɵDirectiveDeclaration<MapHeatmapLayer, "map-heatmap-layer", ["mapHeatmapLayer"], { "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "heatmapInitialized": "heatmapInitialized"; }, never, never, true, never>;
1194
595
  }
1195
596
 
597
+ interface MapAnchorPoint {
598
+ getAnchor(): google.maps.MVCObject | google.maps.marker.AdvancedMarkerElement;
599
+ }
600
+
1196
601
  /**
1197
602
  * Angular component that renders a Google Maps info window via the Google Maps JavaScript API.
1198
603
  *
1199
604
  * See developers.google.com/maps/documentation/javascript/reference/info-window
1200
605
  */
1201
- export declare class MapInfoWindow implements OnInit, OnDestroy {
606
+ declare class MapInfoWindow implements OnInit, OnDestroy {
1202
607
  private readonly _googleMap;
1203
608
  private _elementRef;
1204
609
  private _ngZone;
@@ -1292,7 +697,7 @@ export declare class MapInfoWindow implements OnInit, OnDestroy {
1292
697
  *
1293
698
  * See developers.google.com/maps/documentation/javascript/reference/kml#KmlLayer
1294
699
  */
1295
- export declare class MapKmlLayer implements OnInit, OnDestroy {
700
+ declare class MapKmlLayer implements OnInit, OnDestroy {
1296
701
  private readonly _map;
1297
702
  private _ngZone;
1298
703
  private _eventManager;
@@ -1356,12 +761,19 @@ export declare class MapKmlLayer implements OnInit, OnDestroy {
1356
761
  static ɵdir: i0.ɵɵDirectiveDeclaration<MapKmlLayer, "map-kml-layer", ["mapKmlLayer"], { "options": { "alias": "options"; "required": false; }; "url": { "alias": "url"; "required": false; }; }, { "kmlClick": "kmlClick"; "defaultviewportChanged": "defaultviewportChanged"; "statusChanged": "statusChanged"; "kmlLayerInitialized": "kmlLayerInitialized"; }, never, never, true, never>;
1357
762
  }
1358
763
 
764
+ /** Marker types from the Google Maps API. */
765
+ type Marker = google.maps.Marker | google.maps.marker.AdvancedMarkerElement;
766
+ /** Interface that should be implemented by directives that wrap marker APIs. */
767
+ interface MarkerDirective {
768
+ _resolveMarker(): Promise<Marker>;
769
+ }
770
+
1359
771
  /**
1360
772
  * Angular component that renders a Google Maps marker via the Google Maps JavaScript API.
1361
773
  *
1362
774
  * See developers.google.com/maps/documentation/javascript/reference/marker
1363
775
  */
1364
- export declare class MapMarker implements OnInit, OnChanges, OnDestroy, MapAnchorPoint, MarkerDirective {
776
+ declare class MapMarker implements OnInit, OnChanges, OnDestroy, MapAnchorPoint, MarkerDirective {
1365
777
  private readonly _googleMap;
1366
778
  private _ngZone;
1367
779
  private _eventManager;
@@ -1597,449 +1009,125 @@ export declare class MapMarker implements OnInit, OnChanges, OnDestroy, MapAncho
1597
1009
  }
1598
1010
 
1599
1011
  /**
1600
- * Angular component for implementing a Google Maps Marker Clusterer.
1012
+ * Angular component that renders a Google Maps marker via the Google Maps JavaScript API.
1601
1013
  *
1602
- * See https://developers.google.com/maps/documentation/javascript/marker-clustering
1014
+ * See developers.google.com/maps/documentation/javascript/reference/marker
1603
1015
  */
1604
- export declare class MapMarkerClusterer implements OnInit, OnChanges, OnDestroy {
1016
+ declare class MapAdvancedMarker implements OnInit, OnChanges, OnDestroy, MapAnchorPoint, MarkerDirective {
1605
1017
  private readonly _googleMap;
1606
- private readonly _ngZone;
1607
- private readonly _currentMarkers;
1608
- private readonly _closestMapEventManager;
1609
- private _markersSubscription;
1610
- /** Whether the clusterer is allowed to be initialized. */
1611
- private readonly _canInitialize;
1018
+ private _ngZone;
1019
+ private _eventManager;
1612
1020
  /**
1613
- * Used to customize how the marker cluster is rendered.
1614
- * See https://googlemaps.github.io/js-markerclusterer/interfaces/Renderer.html.
1021
+ * Rollover text. If provided, an accessibility text (e.g. for use with screen readers) will be added to the AdvancedMarkerElement with the provided value.
1022
+ * See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.title
1615
1023
  */
1616
- renderer: Renderer;
1617
- /**
1618
- * Algorithm used to cluster the markers.
1619
- * See https://googlemaps.github.io/js-markerclusterer/interfaces/Algorithm.html.
1620
- */
1621
- algorithm: Algorithm_2;
1622
- /** Emits when clustering has started. */
1623
- readonly clusteringbegin: Observable<void>;
1624
- /** Emits when clustering is done. */
1625
- readonly clusteringend: Observable<void>;
1626
- /** Emits when a cluster has been clicked. */
1627
- readonly clusterClick: EventEmitter<Cluster>;
1628
- /** Event emitted when the marker clusterer is initialized. */
1629
- readonly markerClustererInitialized: EventEmitter<MarkerClusterer>;
1630
- _markers: QueryList<MarkerDirective>;
1631
- /** Underlying MarkerClusterer object used to interact with Google Maps. */
1632
- markerClusterer?: MarkerClusterer;
1633
- ngOnInit(): Promise<void>;
1634
- ngOnChanges(changes: SimpleChanges): Promise<void>;
1635
- ngOnDestroy(): void;
1636
- private _createCluster;
1637
- private _watchForMarkerChanges;
1638
- private _destroyCluster;
1639
- private _getInternalMarkers;
1640
- private _assertInitialized;
1641
- static ɵfac: i0.ɵɵFactoryDeclaration<MapMarkerClusterer, never>;
1642
- static ɵcmp: i0.ɵɵComponentDeclaration<MapMarkerClusterer, "map-marker-clusterer", ["mapMarkerClusterer"], { "renderer": { "alias": "renderer"; "required": false; }; "algorithm": { "alias": "algorithm"; "required": false; }; }, { "clusteringbegin": "clusteringbegin"; "clusteringend": "clusteringend"; "clusterClick": "clusterClick"; "markerClustererInitialized": "markerClustererInitialized"; }, ["_markers"], ["*"], true, never>;
1643
- }
1644
-
1645
- /**
1646
- * Angular component that renders a Google Maps Polygon via the Google Maps JavaScript API.
1647
- *
1648
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon
1649
- */
1650
- export declare class MapPolygon implements OnInit, OnDestroy {
1651
- private readonly _map;
1652
- private readonly _ngZone;
1653
- private _eventManager;
1654
- private readonly _options;
1655
- private readonly _paths;
1656
- private readonly _destroyed;
1657
- /**
1658
- * The underlying google.maps.Polygon object.
1659
- *
1660
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon
1661
- */
1662
- polygon?: google.maps.Polygon;
1663
- set options(options: google.maps.PolygonOptions);
1664
- set paths(paths: google.maps.MVCArray<google.maps.MVCArray<google.maps.LatLng>> | google.maps.MVCArray<google.maps.LatLng> | google.maps.LatLng[] | google.maps.LatLngLiteral[]);
1665
- /**
1666
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.click
1667
- */
1668
- readonly polygonClick: Observable<google.maps.PolyMouseEvent>;
1669
- /**
1670
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dblclick
1671
- */
1672
- readonly polygonDblclick: Observable<google.maps.PolyMouseEvent>;
1024
+ set title(title: string);
1025
+ private _title;
1673
1026
  /**
1674
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.drag
1027
+ * Sets the AdvancedMarkerElement's position. An AdvancedMarkerElement may be constructed without a position, but will not be displayed until its position is provided - for example, by a user's actions or choices. An AdvancedMarkerElement's position can be provided by setting AdvancedMarkerElement.position if not provided at the construction.
1028
+ * Note: AdvancedMarkerElement with altitude is only supported on vector maps.
1029
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.position
1675
1030
  */
1676
- readonly polygonDrag: Observable<google.maps.MapMouseEvent>;
1031
+ set position(position: google.maps.LatLngLiteral | google.maps.LatLng | google.maps.LatLngAltitude | google.maps.LatLngAltitudeLiteral);
1032
+ private _position;
1677
1033
  /**
1678
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dragend
1034
+ * The DOM Element backing the visual of an AdvancedMarkerElement.
1035
+ * Note: AdvancedMarkerElement does not clone the passed-in DOM element. Once the DOM element is passed to an AdvancedMarkerElement, passing the same DOM element to another AdvancedMarkerElement will move the DOM element and cause the previous AdvancedMarkerElement to look empty.
1036
+ * See: https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.content
1679
1037
  */
1680
- readonly polygonDragend: Observable<google.maps.MapMouseEvent>;
1038
+ set content(content: Node | google.maps.marker.PinElement | null);
1039
+ private _content;
1681
1040
  /**
1682
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dragstart
1041
+ * If true, the AdvancedMarkerElement can be dragged.
1042
+ * Note: AdvancedMarkerElement with altitude is not draggable.
1043
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.gmpDraggable
1683
1044
  */
1684
- readonly polygonDragstart: Observable<google.maps.MapMouseEvent>;
1045
+ set gmpDraggable(draggable: boolean);
1046
+ private _draggable;
1685
1047
  /**
1686
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mousedown
1048
+ * Options for constructing an AdvancedMarkerElement.
1049
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions
1687
1050
  */
1688
- readonly polygonMousedown: Observable<google.maps.PolyMouseEvent>;
1051
+ set options(options: google.maps.marker.AdvancedMarkerElementOptions);
1052
+ private _options;
1689
1053
  /**
1690
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mousemove
1054
+ * AdvancedMarkerElements on the map are prioritized by zIndex, with higher values indicating higher display.
1055
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElementOptions.zIndex
1691
1056
  */
1692
- readonly polygonMousemove: Observable<google.maps.PolyMouseEvent>;
1057
+ set zIndex(zIndex: number);
1058
+ private _zIndex;
1693
1059
  /**
1694
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseout
1060
+ * This event is fired when the AdvancedMarkerElement element is clicked.
1061
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.click
1695
1062
  */
1696
- readonly polygonMouseout: Observable<google.maps.PolyMouseEvent>;
1063
+ readonly mapClick: Observable<google.maps.MapMouseEvent>;
1697
1064
  /**
1698
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseover
1065
+ * This event is fired when the AdvancedMarkerElement is double-clicked.
1699
1066
  */
1700
- readonly polygonMouseover: Observable<google.maps.PolyMouseEvent>;
1067
+ readonly mapDblclick: Observable<google.maps.MapMouseEvent>;
1701
1068
  /**
1702
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseup
1069
+ * This event is fired when the mouse moves out of the AdvancedMarkerElement.
1703
1070
  */
1704
- readonly polygonMouseup: Observable<google.maps.PolyMouseEvent>;
1071
+ readonly mapMouseout: Observable<google.maps.MapMouseEvent>;
1705
1072
  /**
1706
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.rightclick
1073
+ * This event is fired when the mouse moves over the AdvancedMarkerElement.
1707
1074
  */
1708
- readonly polygonRightclick: Observable<google.maps.PolyMouseEvent>;
1709
- /** Event emitted when the polygon is initialized. */
1710
- readonly polygonInitialized: EventEmitter<google.maps.Polygon>;
1711
- constructor(...args: unknown[]);
1712
- ngOnInit(): void;
1713
- private _initialize;
1714
- ngOnDestroy(): void;
1075
+ readonly mapMouseover: Observable<google.maps.MapMouseEvent>;
1715
1076
  /**
1716
- * See
1717
- * developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getDraggable
1077
+ * This event is fired when the mouse button is released over the AdvancedMarkerElement.
1718
1078
  */
1719
- getDraggable(): boolean;
1079
+ readonly mapMouseup: Observable<google.maps.MapMouseEvent>;
1720
1080
  /**
1721
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getEditable
1081
+ * This event is fired when the AdvancedMarkerElement is right-clicked.
1722
1082
  */
1723
- getEditable(): boolean;
1083
+ readonly mapRightclick: Observable<google.maps.MapMouseEvent>;
1724
1084
  /**
1725
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getPath
1085
+ * This event is repeatedly fired while the user drags the AdvancedMarkerElement.
1086
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.drag
1726
1087
  */
1727
- getPath(): google.maps.MVCArray<google.maps.LatLng>;
1088
+ readonly mapDrag: Observable<google.maps.MapMouseEvent>;
1728
1089
  /**
1729
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getPaths
1090
+ * This event is fired when the user stops dragging the AdvancedMarkerElement.
1091
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragend
1730
1092
  */
1731
- getPaths(): google.maps.MVCArray<google.maps.MVCArray<google.maps.LatLng>>;
1093
+ readonly mapDragend: Observable<google.maps.MapMouseEvent>;
1732
1094
  /**
1733
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getVisible
1095
+ * This event is fired when the user starts dragging the AdvancedMarkerElement.
1096
+ * https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.dragstart
1734
1097
  */
1735
- getVisible(): boolean;
1736
- private _combineOptions;
1737
- private _watchForOptionsChanges;
1738
- private _watchForPathChanges;
1739
- private _assertInitialized;
1740
- static ɵfac: i0.ɵɵFactoryDeclaration<MapPolygon, never>;
1741
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapPolygon, "map-polygon", ["mapPolygon"], { "options": { "alias": "options"; "required": false; }; "paths": { "alias": "paths"; "required": false; }; }, { "polygonClick": "polygonClick"; "polygonDblclick": "polygonDblclick"; "polygonDrag": "polygonDrag"; "polygonDragend": "polygonDragend"; "polygonDragstart": "polygonDragstart"; "polygonMousedown": "polygonMousedown"; "polygonMousemove": "polygonMousemove"; "polygonMouseout": "polygonMouseout"; "polygonMouseover": "polygonMouseover"; "polygonMouseup": "polygonMouseup"; "polygonRightclick": "polygonRightclick"; "polygonInitialized": "polygonInitialized"; }, never, never, true, never>;
1742
- }
1743
-
1744
- /**
1745
- * Angular component that renders a Google Maps Polyline via the Google Maps JavaScript API.
1746
- *
1747
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline
1748
- */
1749
- export declare class MapPolyline implements OnInit, OnDestroy {
1750
- private readonly _map;
1751
- private _ngZone;
1752
- private _eventManager;
1753
- private readonly _options;
1754
- private readonly _path;
1755
- private readonly _destroyed;
1098
+ readonly mapDragstart: Observable<google.maps.MapMouseEvent>;
1099
+ /** Event emitted when the marker is initialized. */
1100
+ readonly markerInitialized: EventEmitter<google.maps.marker.AdvancedMarkerElement>;
1756
1101
  /**
1757
- * The underlying google.maps.Polyline object.
1102
+ * The underlying google.maps.marker.AdvancedMarkerElement object.
1758
1103
  *
1759
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline
1760
- */
1761
- polyline?: google.maps.Polyline;
1762
- set options(options: google.maps.PolylineOptions);
1763
- set path(path: google.maps.MVCArray<google.maps.LatLng> | google.maps.LatLng[] | google.maps.LatLngLiteral[]);
1764
- /**
1765
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.click
1766
- */
1767
- readonly polylineClick: Observable<google.maps.PolyMouseEvent>;
1768
- /**
1769
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dblclick
1770
- */
1771
- readonly polylineDblclick: Observable<google.maps.PolyMouseEvent>;
1772
- /**
1773
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.drag
1774
- */
1775
- readonly polylineDrag: Observable<google.maps.MapMouseEvent>;
1776
- /**
1777
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dragend
1778
- */
1779
- readonly polylineDragend: Observable<google.maps.MapMouseEvent>;
1780
- /**
1781
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dragstart
1782
- */
1783
- readonly polylineDragstart: Observable<google.maps.MapMouseEvent>;
1784
- /**
1785
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mousedown
1786
- */
1787
- readonly polylineMousedown: Observable<google.maps.PolyMouseEvent>;
1788
- /**
1789
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mousemove
1790
- */
1791
- readonly polylineMousemove: Observable<google.maps.PolyMouseEvent>;
1792
- /**
1793
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseout
1794
- */
1795
- readonly polylineMouseout: Observable<google.maps.PolyMouseEvent>;
1796
- /**
1797
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseover
1798
- */
1799
- readonly polylineMouseover: Observable<google.maps.PolyMouseEvent>;
1800
- /**
1801
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseup
1802
- */
1803
- readonly polylineMouseup: Observable<google.maps.PolyMouseEvent>;
1804
- /**
1805
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.rightclick
1104
+ * See developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement
1806
1105
  */
1807
- readonly polylineRightclick: Observable<google.maps.PolyMouseEvent>;
1808
- /** Event emitted when the polyline is initialized. */
1809
- readonly polylineInitialized: EventEmitter<google.maps.Polyline>;
1106
+ advancedMarker: google.maps.marker.AdvancedMarkerElement;
1810
1107
  constructor(...args: unknown[]);
1811
1108
  ngOnInit(): void;
1812
1109
  private _initialize;
1110
+ ngOnChanges(changes: SimpleChanges): void;
1813
1111
  ngOnDestroy(): void;
1814
- /**
1815
- * See
1816
- * developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getDraggable
1817
- */
1818
- getDraggable(): boolean;
1819
- /**
1820
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getEditable
1821
- */
1822
- getEditable(): boolean;
1823
- /**
1824
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getPath
1825
- */
1826
- getPath(): google.maps.MVCArray<google.maps.LatLng>;
1827
- /**
1828
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getVisible
1829
- */
1830
- getVisible(): boolean;
1112
+ getAnchor(): google.maps.marker.AdvancedMarkerElement;
1113
+ /** Returns a promise that resolves when the marker has been initialized. */
1114
+ _resolveMarker(): Promise<google.maps.marker.AdvancedMarkerElement>;
1115
+ /** Creates a combined options object using the passed-in options and the individual inputs. */
1831
1116
  private _combineOptions;
1832
- private _watchForOptionsChanges;
1833
- private _watchForPathChanges;
1117
+ /** Asserts that the map has been initialized. */
1834
1118
  private _assertInitialized;
1835
- static ɵfac: i0.ɵɵFactoryDeclaration<MapPolyline, never>;
1836
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapPolyline, "map-polyline", ["mapPolyline"], { "options": { "alias": "options"; "required": false; }; "path": { "alias": "path"; "required": false; }; }, { "polylineClick": "polylineClick"; "polylineDblclick": "polylineDblclick"; "polylineDrag": "polylineDrag"; "polylineDragend": "polylineDragend"; "polylineDragstart": "polylineDragstart"; "polylineMousedown": "polylineMousedown"; "polylineMousemove": "polylineMousemove"; "polylineMouseout": "polylineMouseout"; "polylineMouseover": "polylineMouseover"; "polylineMouseup": "polylineMouseup"; "polylineRightclick": "polylineRightclick"; "polylineInitialized": "polylineInitialized"; }, never, never, true, never>;
1119
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapAdvancedMarker, never>;
1120
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapAdvancedMarker, "map-advanced-marker", ["mapAdvancedMarker"], { "title": { "alias": "title"; "required": false; }; "position": { "alias": "position"; "required": false; }; "content": { "alias": "content"; "required": false; }; "gmpDraggable": { "alias": "gmpDraggable"; "required": false; }; "options": { "alias": "options"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; }, { "mapClick": "mapClick"; "mapDblclick": "mapDblclick"; "mapMouseout": "mapMouseout"; "mapMouseover": "mapMouseover"; "mapMouseup": "mapMouseup"; "mapRightclick": "mapRightclick"; "mapDrag": "mapDrag"; "mapDragend": "mapDragend"; "mapDragstart": "mapDragstart"; "markerInitialized": "markerInitialized"; }, never, never, true, never>;
1837
1121
  }
1838
1122
 
1839
1123
  /**
1840
- * Angular component that renders a Google Maps Rectangle via the Google Maps JavaScript API.
1124
+ * Class for clustering markers on a Google Map.
1841
1125
  *
1842
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle
1126
+ * See
1127
+ * googlemaps.github.io/v3-utility-library/classes/_google_markerclustererplus.markerclusterer.html
1843
1128
  */
1844
- export declare class MapRectangle implements OnInit, OnDestroy {
1845
- private readonly _map;
1846
- private readonly _ngZone;
1847
- private _eventManager;
1848
- private readonly _options;
1849
- private readonly _bounds;
1850
- private readonly _destroyed;
1851
- /**
1852
- * The underlying google.maps.Rectangle object.
1853
- *
1854
- * See developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle
1855
- */
1856
- rectangle?: google.maps.Rectangle;
1857
- set options(options: google.maps.RectangleOptions);
1858
- set bounds(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral);
1859
- /**
1860
- * See
1861
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.boundsChanged
1862
- */ readonly boundsChanged: Observable<void>;
1863
- /**
1864
- * See
1865
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.click
1866
- */
1867
- readonly rectangleClick: Observable<google.maps.MapMouseEvent>;
1868
- /**
1869
- * See
1870
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dblclick
1871
- */
1872
- readonly rectangleDblclick: Observable<google.maps.MapMouseEvent>;
1873
- /**
1874
- * See
1875
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.drag
1876
- */
1877
- readonly rectangleDrag: Observable<google.maps.MapMouseEvent>;
1878
- /**
1879
- * See
1880
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dragend
1881
- */
1882
- readonly rectangleDragend: Observable<google.maps.MapMouseEvent>;
1883
- /**
1884
- * See
1885
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dragstart
1886
- */
1887
- readonly rectangleDragstart: Observable<google.maps.MapMouseEvent>;
1888
- /**
1889
- * See
1890
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mousedown
1891
- */
1892
- readonly rectangleMousedown: Observable<google.maps.MapMouseEvent>;
1893
- /**
1894
- * See
1895
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mousemove
1896
- */
1897
- readonly rectangleMousemove: Observable<google.maps.MapMouseEvent>;
1898
- /**
1899
- * See
1900
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseout
1901
- */
1902
- readonly rectangleMouseout: Observable<google.maps.MapMouseEvent>;
1903
- /**
1904
- * See
1905
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseover
1906
- */
1907
- readonly rectangleMouseover: Observable<google.maps.MapMouseEvent>;
1908
- /**
1909
- * See
1910
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseup
1911
- */
1912
- readonly rectangleMouseup: Observable<google.maps.MapMouseEvent>;
1913
- /**
1914
- * See
1915
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.rightclick
1916
- */
1917
- readonly rectangleRightclick: Observable<google.maps.MapMouseEvent>;
1918
- /** Event emitted when the rectangle is initialized. */
1919
- readonly rectangleInitialized: EventEmitter<google.maps.Rectangle>;
1920
- constructor(...args: unknown[]);
1921
- ngOnInit(): void;
1922
- private _initialize;
1923
- ngOnDestroy(): void;
1924
- /**
1925
- * See
1926
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getBounds
1927
- */
1928
- getBounds(): google.maps.LatLngBounds | null;
1929
- /**
1930
- * See
1931
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getDraggable
1932
- */
1933
- getDraggable(): boolean;
1934
- /**
1935
- * See
1936
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getEditable
1937
- */
1938
- getEditable(): boolean;
1939
- /**
1940
- * See
1941
- * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getVisible
1942
- */
1943
- getVisible(): boolean;
1944
- private _combineOptions;
1945
- private _watchForOptionsChanges;
1946
- private _watchForBoundsChanges;
1947
- private _assertInitialized;
1948
- static ɵfac: i0.ɵɵFactoryDeclaration<MapRectangle, never>;
1949
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapRectangle, "map-rectangle", ["mapRectangle"], { "options": { "alias": "options"; "required": false; }; "bounds": { "alias": "bounds"; "required": false; }; }, { "boundsChanged": "boundsChanged"; "rectangleClick": "rectangleClick"; "rectangleDblclick": "rectangleDblclick"; "rectangleDrag": "rectangleDrag"; "rectangleDragend": "rectangleDragend"; "rectangleDragstart": "rectangleDragstart"; "rectangleMousedown": "rectangleMousedown"; "rectangleMousemove": "rectangleMousemove"; "rectangleMouseout": "rectangleMouseout"; "rectangleMouseover": "rectangleMouseover"; "rectangleMouseup": "rectangleMouseup"; "rectangleRightclick": "rectangleRightclick"; "rectangleInitialized": "rectangleInitialized"; }, never, never, true, never>;
1950
- }
1951
-
1952
- /**
1953
- * Angular component that renders a Google Maps Traffic Layer via the Google Maps JavaScript API.
1954
- *
1955
- * See developers.google.com/maps/documentation/javascript/reference/map#TrafficLayer
1956
- */
1957
- export declare class MapTrafficLayer implements OnInit, OnDestroy {
1958
- private readonly _map;
1959
- private readonly _ngZone;
1960
- private readonly _autoRefresh;
1961
- private readonly _destroyed;
1962
- /**
1963
- * The underlying google.maps.TrafficLayer object.
1964
- *
1965
- * See developers.google.com/maps/documentation/javascript/reference/map#TrafficLayer
1966
- */
1967
- trafficLayer?: google.maps.TrafficLayer;
1968
- /**
1969
- * Whether the traffic layer refreshes with updated information automatically.
1970
- */
1971
- set autoRefresh(autoRefresh: boolean);
1972
- /** Event emitted when the traffic layer is initialized. */
1973
- readonly trafficLayerInitialized: EventEmitter<google.maps.TrafficLayer>;
1974
- constructor(...args: unknown[]);
1975
- ngOnInit(): void;
1976
- private _initialize;
1977
- ngOnDestroy(): void;
1978
- private _combineOptions;
1979
- private _watchForAutoRefreshChanges;
1980
- private _assertInitialized;
1981
- static ɵfac: i0.ɵɵFactoryDeclaration<MapTrafficLayer, never>;
1982
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapTrafficLayer, "map-traffic-layer", ["mapTrafficLayer"], { "autoRefresh": { "alias": "autoRefresh"; "required": false; }; }, { "trafficLayerInitialized": "trafficLayerInitialized"; }, never, never, true, never>;
1983
- }
1984
-
1985
- /**
1986
- * Angular component that renders a Google Maps Transit Layer via the Google Maps JavaScript API.
1987
- *
1988
- * See developers.google.com/maps/documentation/javascript/reference/map#TransitLayer
1989
- */
1990
- export declare class MapTransitLayer implements OnInit, OnDestroy {
1991
- private _map;
1992
- private _zone;
1993
- /**
1994
- * The underlying google.maps.TransitLayer object.
1995
- *
1996
- * See developers.google.com/maps/documentation/javascript/reference/map#TransitLayer
1997
- */
1998
- transitLayer?: google.maps.TransitLayer;
1999
- /** Event emitted when the transit layer is initialized. */
2000
- readonly transitLayerInitialized: EventEmitter<google.maps.TransitLayer>;
2001
- ngOnInit(): void;
2002
- private _initialize;
2003
- ngOnDestroy(): void;
2004
- private _assertLayerInitialized;
2005
- static ɵfac: i0.ɵɵFactoryDeclaration<MapTransitLayer, never>;
2006
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapTransitLayer, "map-transit-layer", ["mapTransitLayer"], {}, { "transitLayerInitialized": "transitLayerInitialized"; }, never, never, true, never>;
2007
- }
2008
-
2009
- /** Marker types from the Google Maps API. */
2010
- declare type Marker = google.maps.Marker | google.maps.marker.AdvancedMarkerElement;
2011
-
2012
- export declare class MarkerClusterer extends google.maps.OverlayView {
2013
- onClusterClick: onClusterClickHandler;
2014
- protected algorithm: Algorithm_2;
2015
- protected clusters: Cluster[];
2016
- protected markers: Marker[];
2017
- protected renderer: Renderer;
2018
- protected map: google.maps.Map | null;
2019
- protected idleListener: google.maps.MapsEventListener;
2020
- constructor({ map, markers, algorithmOptions, algorithm, renderer, onClusterClick, }: MarkerClustererOptions_2);
2021
- addMarker(marker: Marker, noDraw?: boolean): void;
2022
- addMarkers(markers: Marker[], noDraw?: boolean): void;
2023
- removeMarker(marker: Marker, noDraw?: boolean): boolean;
2024
- removeMarkers(markers: Marker[], noDraw?: boolean): boolean;
2025
- clearMarkers(noDraw?: boolean): void;
2026
- render(): void;
2027
- onAdd(): void;
2028
- onRemove(): void;
2029
- protected reset(): void;
2030
- protected renderClusters(): void;
2031
- }
2032
-
2033
-
2034
- /// <reference types="google.maps" preserve="true" />
2035
- /**
2036
- * Class for clustering markers on a Google Map.
2037
- *
2038
- * See
2039
- * googlemaps.github.io/v3-utility-library/classes/_google_markerclustererplus.markerclusterer.html
2040
- */
2041
- declare class MarkerClusterer_2 {
2042
- constructor(map: google.maps.Map, markers?: google.maps.Marker[], options?: MarkerClustererOptions);
1129
+ declare class MarkerClusterer$1 {
1130
+ constructor(map: google.maps.Map, markers?: google.maps.Marker[], options?: MarkerClustererOptions$1);
2043
1131
  ariaLabelFn: AriaLabelFn;
2044
1132
  static BATCH_SIZE: number;
2045
1133
  static BATCH_SIZE_IE: number;
@@ -2047,7 +1135,7 @@ declare class MarkerClusterer_2 {
2047
1135
  static IMAGE_PATH: string;
2048
1136
  static IMAGE_SIZES: number[];
2049
1137
  addListener(eventName: string, handler: Function): google.maps.MapsEventListener;
2050
- addMarker(marker: MarkerClusterer_2, nodraw: boolean): void;
1138
+ addMarker(marker: MarkerClusterer$1, nodraw: boolean): void;
2051
1139
  addMarkers(markers: google.maps.Marker[], nodraw?: boolean): void;
2052
1140
  bindTo(key: string, target: google.maps.MVCObject, targetKey: string, noNotify: boolean): void;
2053
1141
  changed(key: string): void;
@@ -2058,7 +1146,7 @@ declare class MarkerClusterer_2 {
2058
1146
  getBatchSizeIE(): number;
2059
1147
  getCalculator(): Calculator;
2060
1148
  getClusterClass(): string;
2061
- getClusters(): Cluster_2[];
1149
+ getClusters(): Cluster$1[];
2062
1150
  getEnableRetinaIcons(): boolean;
2063
1151
  getGridSize(): number;
2064
1152
  getIgnoreHidden(): boolean;
@@ -2100,19 +1188,24 @@ declare class MarkerClusterer_2 {
2100
1188
  setValues(values: any): void;
2101
1189
  setZIndex(zIndex: number): void;
2102
1190
  setZoomOnClick(zoomOnClick: boolean): void;
2103
- setOptions(options: MarkerClustererOptions): void;
1191
+ setOptions(options: MarkerClustererOptions$1): void;
2104
1192
  unbind(key: string): void;
2105
1193
  unbindAll(): void;
2106
1194
  static CALCULATOR(markers: google.maps.Marker[], numStyles: number): ClusterIconInfo;
2107
1195
  static withDefaultStyle(overrides: ClusterIconStyle): ClusterIconStyle;
2108
1196
  }
2109
-
2110
- export declare enum MarkerClustererEvents {
2111
- CLUSTERING_BEGIN = "clusteringbegin",
2112
- CLUSTERING_END = "clusteringend",
2113
- CLUSTER_CLICK = "click"
1197
+ /**
1198
+ * Cluster class from the @google/markerclustererplus library.
1199
+ *
1200
+ * See googlemaps.github.io/v3-utility-library/classes/_google_markerclustererplus.cluster.html
1201
+ */
1202
+ declare class Cluster$1 {
1203
+ constructor(markerClusterer: MarkerClusterer$1);
1204
+ getCenter(): google.maps.LatLng;
1205
+ getMarkers(): google.maps.Marker[];
1206
+ getSize(): number;
1207
+ updateIcon(): void;
2114
1208
  }
2115
-
2116
1209
  /**
2117
1210
  * Options for constructing a MarkerClusterer from the @google/markerclustererplus library.
2118
1211
  *
@@ -2120,7 +1213,7 @@ export declare enum MarkerClustererEvents {
2120
1213
  * googlemaps.github.io/v3-utility-library/classes/
2121
1214
  * _google_markerclustererplus.markerclustereroptions.html
2122
1215
  */
2123
- export declare interface MarkerClustererOptions {
1216
+ declare interface MarkerClustererOptions$1 {
2124
1217
  ariaLabelFn?: AriaLabelFn;
2125
1218
  averageCenter?: boolean;
2126
1219
  batchSize?: number;
@@ -2140,37 +1233,591 @@ export declare interface MarkerClustererOptions {
2140
1233
  zIndex?: number;
2141
1234
  zoomOnClick?: boolean;
2142
1235
  }
2143
-
2144
- declare interface MarkerClustererOptions_2 {
2145
- markers?: Marker[];
2146
- /**
2147
- * An algorithm to cluster markers. Default is {@link SuperClusterAlgorithm}. Must
2148
- * provide a `calculate` method accepting {@link AlgorithmInput} and returning
2149
- * an array of {@link Cluster}.
2150
- */
2151
- algorithm?: Algorithm_2;
2152
- algorithmOptions?: AlgorithmOptions;
2153
- map?: google.maps.Map | null;
2154
- /**
2155
- * An object that converts a {@link Cluster} into a `google.maps.Marker`.
2156
- * Default is {@link DefaultRenderer}.
2157
- */
2158
- renderer?: Renderer;
2159
- onClusterClick?: onClusterClickHandler;
1236
+ /**
1237
+ * Style interface for a marker cluster icon.
1238
+ *
1239
+ * See
1240
+ * googlemaps.github.io/v3-utility-library/interfaces/
1241
+ * _google_markerclustererplus.clustericonstyle.html
1242
+ */
1243
+ declare interface ClusterIconStyle {
1244
+ anchorIcon?: [number, number];
1245
+ anchorText?: [number, number];
1246
+ backgroundPosition?: string;
1247
+ className?: string;
1248
+ fontFamily?: string;
1249
+ fontStyle?: string;
1250
+ fontWeight?: string;
1251
+ height: number;
1252
+ textColor?: string;
1253
+ textDecoration?: string;
1254
+ textLineHeight?: number;
1255
+ textSize?: number;
1256
+ url?: string;
1257
+ width: number;
2160
1258
  }
2161
-
2162
- /** Interface that should be implemented by directives that wrap marker APIs. */
2163
- declare interface MarkerDirective {
2164
- _resolveMarker(): Promise<Marker>;
1259
+ /**
1260
+ * Info interface for a marker cluster icon.
1261
+ *
1262
+ * See
1263
+ * googlemaps.github.io/v3-utility-library/interfaces/
1264
+ * _google_markerclustererplus.clustericoninfo.html
1265
+ */
1266
+ declare interface ClusterIconInfo {
1267
+ index: number;
1268
+ text: string;
1269
+ title: string;
2165
1270
  }
1271
+ /**
1272
+ * Function type alias for determining the aria label on a Google Maps marker cluster.
1273
+ *
1274
+ * See googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#arialabelfn
1275
+ */
1276
+ declare type AriaLabelFn = (text: string) => string;
1277
+ /**
1278
+ * Function type alias for calculating how a marker cluster is displayed.
1279
+ *
1280
+ * See googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#calculator
1281
+ */
1282
+ declare type Calculator = (markers: google.maps.Marker[], clusterIconStylesCount: number) => ClusterIconInfo;
2166
1283
 
2167
- export declare type onClusterClickHandler = (event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map) => void;
2168
-
2169
- export declare interface Renderer {
2170
- /**
2171
- * Turn a {@link Cluster} into a `Marker`.
2172
- *
2173
- * Below is a simple example to create a marker with the number of markers in the cluster as a label.
1284
+ /**
1285
+ * Angular component for implementing a Google Maps Marker Clusterer.
1286
+ * See https://developers.google.com/maps/documentation/javascript/marker-clustering
1287
+ *
1288
+ * @deprecated This component is using a deprecated clustering implementation. Use the
1289
+ * `map-marker-clusterer` component instead.
1290
+ * @breaking-change 21.0.0
1291
+ *
1292
+ */
1293
+ declare class DeprecatedMapMarkerClusterer implements OnInit, AfterContentInit, OnChanges, OnDestroy {
1294
+ private readonly _googleMap;
1295
+ private readonly _ngZone;
1296
+ private readonly _currentMarkers;
1297
+ private readonly _eventManager;
1298
+ private readonly _destroy;
1299
+ /** Whether the clusterer is allowed to be initialized. */
1300
+ private readonly _canInitialize;
1301
+ ariaLabelFn: AriaLabelFn;
1302
+ set averageCenter(averageCenter: boolean);
1303
+ private _averageCenter;
1304
+ batchSize?: number;
1305
+ set batchSizeIE(batchSizeIE: number);
1306
+ private _batchSizeIE;
1307
+ set calculator(calculator: Calculator);
1308
+ private _calculator;
1309
+ set clusterClass(clusterClass: string);
1310
+ private _clusterClass;
1311
+ set enableRetinaIcons(enableRetinaIcons: boolean);
1312
+ private _enableRetinaIcons;
1313
+ set gridSize(gridSize: number);
1314
+ private _gridSize;
1315
+ set ignoreHidden(ignoreHidden: boolean);
1316
+ private _ignoreHidden;
1317
+ set imageExtension(imageExtension: string);
1318
+ private _imageExtension;
1319
+ set imagePath(imagePath: string);
1320
+ private _imagePath;
1321
+ set imageSizes(imageSizes: number[]);
1322
+ private _imageSizes;
1323
+ set maxZoom(maxZoom: number);
1324
+ private _maxZoom;
1325
+ set minimumClusterSize(minimumClusterSize: number);
1326
+ private _minimumClusterSize;
1327
+ set styles(styles: ClusterIconStyle[]);
1328
+ private _styles;
1329
+ set title(title: string);
1330
+ private _title;
1331
+ set zIndex(zIndex: number);
1332
+ private _zIndex;
1333
+ set zoomOnClick(zoomOnClick: boolean);
1334
+ private _zoomOnClick;
1335
+ set options(options: MarkerClustererOptions$1);
1336
+ private _options;
1337
+ /**
1338
+ * See
1339
+ * googlemaps.github.io/v3-utility-library/modules/
1340
+ * _google_markerclustererplus.html#clusteringbegin
1341
+ */
1342
+ readonly clusteringbegin: Observable<void>;
1343
+ /**
1344
+ * See
1345
+ * googlemaps.github.io/v3-utility-library/modules/_google_markerclustererplus.html#clusteringend
1346
+ */
1347
+ readonly clusteringend: Observable<void>;
1348
+ /** Emits when a cluster has been clicked. */
1349
+ readonly clusterClick: Observable<Cluster$1>;
1350
+ _markers: QueryList<MapMarker>;
1351
+ /**
1352
+ * The underlying MarkerClusterer object.
1353
+ *
1354
+ * See
1355
+ * googlemaps.github.io/v3-utility-library/classes/
1356
+ * _google_markerclustererplus.markerclusterer.html
1357
+ */
1358
+ markerClusterer?: MarkerClusterer$1;
1359
+ /** Event emitted when the clusterer is initialized. */
1360
+ readonly markerClustererInitialized: EventEmitter<MarkerClusterer$1>;
1361
+ constructor(...args: unknown[]);
1362
+ ngOnInit(): void;
1363
+ ngAfterContentInit(): void;
1364
+ ngOnChanges(changes: SimpleChanges): void;
1365
+ ngOnDestroy(): void;
1366
+ fitMapToMarkers(padding: number | google.maps.Padding): void;
1367
+ getAverageCenter(): boolean;
1368
+ getBatchSizeIE(): number;
1369
+ getCalculator(): Calculator;
1370
+ getClusterClass(): string;
1371
+ getClusters(): Cluster$1[];
1372
+ getEnableRetinaIcons(): boolean;
1373
+ getGridSize(): number;
1374
+ getIgnoreHidden(): boolean;
1375
+ getImageExtension(): string;
1376
+ getImagePath(): string;
1377
+ getImageSizes(): number[];
1378
+ getMaxZoom(): number;
1379
+ getMinimumClusterSize(): number;
1380
+ getStyles(): ClusterIconStyle[];
1381
+ getTitle(): string;
1382
+ getTotalClusters(): number;
1383
+ getTotalMarkers(): number;
1384
+ getZIndex(): number;
1385
+ getZoomOnClick(): boolean;
1386
+ private _combineOptions;
1387
+ private _watchForMarkerChanges;
1388
+ private _getInternalMarkers;
1389
+ private _assertInitialized;
1390
+ static ɵfac: i0.ɵɵFactoryDeclaration<DeprecatedMapMarkerClusterer, never>;
1391
+ static ɵcmp: i0.ɵɵComponentDeclaration<DeprecatedMapMarkerClusterer, "deprecated-map-marker-clusterer", ["mapMarkerClusterer"], { "ariaLabelFn": { "alias": "ariaLabelFn"; "required": false; }; "averageCenter": { "alias": "averageCenter"; "required": false; }; "batchSize": { "alias": "batchSize"; "required": false; }; "batchSizeIE": { "alias": "batchSizeIE"; "required": false; }; "calculator": { "alias": "calculator"; "required": false; }; "clusterClass": { "alias": "clusterClass"; "required": false; }; "enableRetinaIcons": { "alias": "enableRetinaIcons"; "required": false; }; "gridSize": { "alias": "gridSize"; "required": false; }; "ignoreHidden": { "alias": "ignoreHidden"; "required": false; }; "imageExtension": { "alias": "imageExtension"; "required": false; }; "imagePath": { "alias": "imagePath"; "required": false; }; "imageSizes": { "alias": "imageSizes"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "minimumClusterSize": { "alias": "minimumClusterSize"; "required": false; }; "styles": { "alias": "styles"; "required": false; }; "title": { "alias": "title"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "zoomOnClick": { "alias": "zoomOnClick"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "clusteringbegin": "clusteringbegin"; "clusteringend": "clusteringend"; "clusterClick": "clusterClick"; "markerClustererInitialized": "markerClustererInitialized"; }, ["_markers"], ["*"], true, never>;
1392
+ }
1393
+
1394
+ /**
1395
+ * Angular component that renders a Google Maps Polygon via the Google Maps JavaScript API.
1396
+ *
1397
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon
1398
+ */
1399
+ declare class MapPolygon implements OnInit, OnDestroy {
1400
+ private readonly _map;
1401
+ private readonly _ngZone;
1402
+ private _eventManager;
1403
+ private readonly _options;
1404
+ private readonly _paths;
1405
+ private readonly _destroyed;
1406
+ /**
1407
+ * The underlying google.maps.Polygon object.
1408
+ *
1409
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon
1410
+ */
1411
+ polygon?: google.maps.Polygon;
1412
+ set options(options: google.maps.PolygonOptions);
1413
+ set paths(paths: google.maps.MVCArray<google.maps.MVCArray<google.maps.LatLng>> | google.maps.MVCArray<google.maps.LatLng> | google.maps.LatLng[] | google.maps.LatLngLiteral[]);
1414
+ /**
1415
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.click
1416
+ */
1417
+ readonly polygonClick: Observable<google.maps.PolyMouseEvent>;
1418
+ /**
1419
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dblclick
1420
+ */
1421
+ readonly polygonDblclick: Observable<google.maps.PolyMouseEvent>;
1422
+ /**
1423
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.drag
1424
+ */
1425
+ readonly polygonDrag: Observable<google.maps.MapMouseEvent>;
1426
+ /**
1427
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dragend
1428
+ */
1429
+ readonly polygonDragend: Observable<google.maps.MapMouseEvent>;
1430
+ /**
1431
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.dragstart
1432
+ */
1433
+ readonly polygonDragstart: Observable<google.maps.MapMouseEvent>;
1434
+ /**
1435
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mousedown
1436
+ */
1437
+ readonly polygonMousedown: Observable<google.maps.PolyMouseEvent>;
1438
+ /**
1439
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mousemove
1440
+ */
1441
+ readonly polygonMousemove: Observable<google.maps.PolyMouseEvent>;
1442
+ /**
1443
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseout
1444
+ */
1445
+ readonly polygonMouseout: Observable<google.maps.PolyMouseEvent>;
1446
+ /**
1447
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseover
1448
+ */
1449
+ readonly polygonMouseover: Observable<google.maps.PolyMouseEvent>;
1450
+ /**
1451
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.mouseup
1452
+ */
1453
+ readonly polygonMouseup: Observable<google.maps.PolyMouseEvent>;
1454
+ /**
1455
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.rightclick
1456
+ */
1457
+ readonly polygonRightclick: Observable<google.maps.PolyMouseEvent>;
1458
+ /** Event emitted when the polygon is initialized. */
1459
+ readonly polygonInitialized: EventEmitter<google.maps.Polygon>;
1460
+ constructor(...args: unknown[]);
1461
+ ngOnInit(): void;
1462
+ private _initialize;
1463
+ ngOnDestroy(): void;
1464
+ /**
1465
+ * See
1466
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getDraggable
1467
+ */
1468
+ getDraggable(): boolean;
1469
+ /**
1470
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getEditable
1471
+ */
1472
+ getEditable(): boolean;
1473
+ /**
1474
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getPath
1475
+ */
1476
+ getPath(): google.maps.MVCArray<google.maps.LatLng>;
1477
+ /**
1478
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getPaths
1479
+ */
1480
+ getPaths(): google.maps.MVCArray<google.maps.MVCArray<google.maps.LatLng>>;
1481
+ /**
1482
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polygon.getVisible
1483
+ */
1484
+ getVisible(): boolean;
1485
+ private _combineOptions;
1486
+ private _watchForOptionsChanges;
1487
+ private _watchForPathChanges;
1488
+ private _assertInitialized;
1489
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapPolygon, never>;
1490
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapPolygon, "map-polygon", ["mapPolygon"], { "options": { "alias": "options"; "required": false; }; "paths": { "alias": "paths"; "required": false; }; }, { "polygonClick": "polygonClick"; "polygonDblclick": "polygonDblclick"; "polygonDrag": "polygonDrag"; "polygonDragend": "polygonDragend"; "polygonDragstart": "polygonDragstart"; "polygonMousedown": "polygonMousedown"; "polygonMousemove": "polygonMousemove"; "polygonMouseout": "polygonMouseout"; "polygonMouseover": "polygonMouseover"; "polygonMouseup": "polygonMouseup"; "polygonRightclick": "polygonRightclick"; "polygonInitialized": "polygonInitialized"; }, never, never, true, never>;
1491
+ }
1492
+
1493
+ /**
1494
+ * Angular component that renders a Google Maps Polyline via the Google Maps JavaScript API.
1495
+ *
1496
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline
1497
+ */
1498
+ declare class MapPolyline implements OnInit, OnDestroy {
1499
+ private readonly _map;
1500
+ private _ngZone;
1501
+ private _eventManager;
1502
+ private readonly _options;
1503
+ private readonly _path;
1504
+ private readonly _destroyed;
1505
+ /**
1506
+ * The underlying google.maps.Polyline object.
1507
+ *
1508
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline
1509
+ */
1510
+ polyline?: google.maps.Polyline;
1511
+ set options(options: google.maps.PolylineOptions);
1512
+ set path(path: google.maps.MVCArray<google.maps.LatLng> | google.maps.LatLng[] | google.maps.LatLngLiteral[]);
1513
+ /**
1514
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.click
1515
+ */
1516
+ readonly polylineClick: Observable<google.maps.PolyMouseEvent>;
1517
+ /**
1518
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dblclick
1519
+ */
1520
+ readonly polylineDblclick: Observable<google.maps.PolyMouseEvent>;
1521
+ /**
1522
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.drag
1523
+ */
1524
+ readonly polylineDrag: Observable<google.maps.MapMouseEvent>;
1525
+ /**
1526
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dragend
1527
+ */
1528
+ readonly polylineDragend: Observable<google.maps.MapMouseEvent>;
1529
+ /**
1530
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.dragstart
1531
+ */
1532
+ readonly polylineDragstart: Observable<google.maps.MapMouseEvent>;
1533
+ /**
1534
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mousedown
1535
+ */
1536
+ readonly polylineMousedown: Observable<google.maps.PolyMouseEvent>;
1537
+ /**
1538
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mousemove
1539
+ */
1540
+ readonly polylineMousemove: Observable<google.maps.PolyMouseEvent>;
1541
+ /**
1542
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseout
1543
+ */
1544
+ readonly polylineMouseout: Observable<google.maps.PolyMouseEvent>;
1545
+ /**
1546
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseover
1547
+ */
1548
+ readonly polylineMouseover: Observable<google.maps.PolyMouseEvent>;
1549
+ /**
1550
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.mouseup
1551
+ */
1552
+ readonly polylineMouseup: Observable<google.maps.PolyMouseEvent>;
1553
+ /**
1554
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.rightclick
1555
+ */
1556
+ readonly polylineRightclick: Observable<google.maps.PolyMouseEvent>;
1557
+ /** Event emitted when the polyline is initialized. */
1558
+ readonly polylineInitialized: EventEmitter<google.maps.Polyline>;
1559
+ constructor(...args: unknown[]);
1560
+ ngOnInit(): void;
1561
+ private _initialize;
1562
+ ngOnDestroy(): void;
1563
+ /**
1564
+ * See
1565
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getDraggable
1566
+ */
1567
+ getDraggable(): boolean;
1568
+ /**
1569
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getEditable
1570
+ */
1571
+ getEditable(): boolean;
1572
+ /**
1573
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getPath
1574
+ */
1575
+ getPath(): google.maps.MVCArray<google.maps.LatLng>;
1576
+ /**
1577
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Polyline.getVisible
1578
+ */
1579
+ getVisible(): boolean;
1580
+ private _combineOptions;
1581
+ private _watchForOptionsChanges;
1582
+ private _watchForPathChanges;
1583
+ private _assertInitialized;
1584
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapPolyline, never>;
1585
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapPolyline, "map-polyline", ["mapPolyline"], { "options": { "alias": "options"; "required": false; }; "path": { "alias": "path"; "required": false; }; }, { "polylineClick": "polylineClick"; "polylineDblclick": "polylineDblclick"; "polylineDrag": "polylineDrag"; "polylineDragend": "polylineDragend"; "polylineDragstart": "polylineDragstart"; "polylineMousedown": "polylineMousedown"; "polylineMousemove": "polylineMousemove"; "polylineMouseout": "polylineMouseout"; "polylineMouseover": "polylineMouseover"; "polylineMouseup": "polylineMouseup"; "polylineRightclick": "polylineRightclick"; "polylineInitialized": "polylineInitialized"; }, never, never, true, never>;
1586
+ }
1587
+
1588
+ /**
1589
+ * Angular component that renders a Google Maps Rectangle via the Google Maps JavaScript API.
1590
+ *
1591
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle
1592
+ */
1593
+ declare class MapRectangle implements OnInit, OnDestroy {
1594
+ private readonly _map;
1595
+ private readonly _ngZone;
1596
+ private _eventManager;
1597
+ private readonly _options;
1598
+ private readonly _bounds;
1599
+ private readonly _destroyed;
1600
+ /**
1601
+ * The underlying google.maps.Rectangle object.
1602
+ *
1603
+ * See developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle
1604
+ */
1605
+ rectangle?: google.maps.Rectangle;
1606
+ set options(options: google.maps.RectangleOptions);
1607
+ set bounds(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral);
1608
+ /**
1609
+ * See
1610
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.boundsChanged
1611
+ */ readonly boundsChanged: Observable<void>;
1612
+ /**
1613
+ * See
1614
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.click
1615
+ */
1616
+ readonly rectangleClick: Observable<google.maps.MapMouseEvent>;
1617
+ /**
1618
+ * See
1619
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dblclick
1620
+ */
1621
+ readonly rectangleDblclick: Observable<google.maps.MapMouseEvent>;
1622
+ /**
1623
+ * See
1624
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.drag
1625
+ */
1626
+ readonly rectangleDrag: Observable<google.maps.MapMouseEvent>;
1627
+ /**
1628
+ * See
1629
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dragend
1630
+ */
1631
+ readonly rectangleDragend: Observable<google.maps.MapMouseEvent>;
1632
+ /**
1633
+ * See
1634
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.dragstart
1635
+ */
1636
+ readonly rectangleDragstart: Observable<google.maps.MapMouseEvent>;
1637
+ /**
1638
+ * See
1639
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mousedown
1640
+ */
1641
+ readonly rectangleMousedown: Observable<google.maps.MapMouseEvent>;
1642
+ /**
1643
+ * See
1644
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mousemove
1645
+ */
1646
+ readonly rectangleMousemove: Observable<google.maps.MapMouseEvent>;
1647
+ /**
1648
+ * See
1649
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseout
1650
+ */
1651
+ readonly rectangleMouseout: Observable<google.maps.MapMouseEvent>;
1652
+ /**
1653
+ * See
1654
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseover
1655
+ */
1656
+ readonly rectangleMouseover: Observable<google.maps.MapMouseEvent>;
1657
+ /**
1658
+ * See
1659
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.mouseup
1660
+ */
1661
+ readonly rectangleMouseup: Observable<google.maps.MapMouseEvent>;
1662
+ /**
1663
+ * See
1664
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.rightclick
1665
+ */
1666
+ readonly rectangleRightclick: Observable<google.maps.MapMouseEvent>;
1667
+ /** Event emitted when the rectangle is initialized. */
1668
+ readonly rectangleInitialized: EventEmitter<google.maps.Rectangle>;
1669
+ constructor(...args: unknown[]);
1670
+ ngOnInit(): void;
1671
+ private _initialize;
1672
+ ngOnDestroy(): void;
1673
+ /**
1674
+ * See
1675
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getBounds
1676
+ */
1677
+ getBounds(): google.maps.LatLngBounds | null;
1678
+ /**
1679
+ * See
1680
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getDraggable
1681
+ */
1682
+ getDraggable(): boolean;
1683
+ /**
1684
+ * See
1685
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getEditable
1686
+ */
1687
+ getEditable(): boolean;
1688
+ /**
1689
+ * See
1690
+ * developers.google.com/maps/documentation/javascript/reference/polygon#Rectangle.getVisible
1691
+ */
1692
+ getVisible(): boolean;
1693
+ private _combineOptions;
1694
+ private _watchForOptionsChanges;
1695
+ private _watchForBoundsChanges;
1696
+ private _assertInitialized;
1697
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapRectangle, never>;
1698
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapRectangle, "map-rectangle", ["mapRectangle"], { "options": { "alias": "options"; "required": false; }; "bounds": { "alias": "bounds"; "required": false; }; }, { "boundsChanged": "boundsChanged"; "rectangleClick": "rectangleClick"; "rectangleDblclick": "rectangleDblclick"; "rectangleDrag": "rectangleDrag"; "rectangleDragend": "rectangleDragend"; "rectangleDragstart": "rectangleDragstart"; "rectangleMousedown": "rectangleMousedown"; "rectangleMousemove": "rectangleMousemove"; "rectangleMouseout": "rectangleMouseout"; "rectangleMouseover": "rectangleMouseover"; "rectangleMouseup": "rectangleMouseup"; "rectangleRightclick": "rectangleRightclick"; "rectangleInitialized": "rectangleInitialized"; }, never, never, true, never>;
1699
+ }
1700
+
1701
+ /**
1702
+ * Angular component that renders a Google Maps Traffic Layer via the Google Maps JavaScript API.
1703
+ *
1704
+ * See developers.google.com/maps/documentation/javascript/reference/map#TrafficLayer
1705
+ */
1706
+ declare class MapTrafficLayer implements OnInit, OnDestroy {
1707
+ private readonly _map;
1708
+ private readonly _ngZone;
1709
+ private readonly _autoRefresh;
1710
+ private readonly _destroyed;
1711
+ /**
1712
+ * The underlying google.maps.TrafficLayer object.
1713
+ *
1714
+ * See developers.google.com/maps/documentation/javascript/reference/map#TrafficLayer
1715
+ */
1716
+ trafficLayer?: google.maps.TrafficLayer;
1717
+ /**
1718
+ * Whether the traffic layer refreshes with updated information automatically.
1719
+ */
1720
+ set autoRefresh(autoRefresh: boolean);
1721
+ /** Event emitted when the traffic layer is initialized. */
1722
+ readonly trafficLayerInitialized: EventEmitter<google.maps.TrafficLayer>;
1723
+ constructor(...args: unknown[]);
1724
+ ngOnInit(): void;
1725
+ private _initialize;
1726
+ ngOnDestroy(): void;
1727
+ private _combineOptions;
1728
+ private _watchForAutoRefreshChanges;
1729
+ private _assertInitialized;
1730
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapTrafficLayer, never>;
1731
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapTrafficLayer, "map-traffic-layer", ["mapTrafficLayer"], { "autoRefresh": { "alias": "autoRefresh"; "required": false; }; }, { "trafficLayerInitialized": "trafficLayerInitialized"; }, never, never, true, never>;
1732
+ }
1733
+
1734
+ /**
1735
+ * Angular component that renders a Google Maps Transit Layer via the Google Maps JavaScript API.
1736
+ *
1737
+ * See developers.google.com/maps/documentation/javascript/reference/map#TransitLayer
1738
+ */
1739
+ declare class MapTransitLayer implements OnInit, OnDestroy {
1740
+ private _map;
1741
+ private _zone;
1742
+ /**
1743
+ * The underlying google.maps.TransitLayer object.
1744
+ *
1745
+ * See developers.google.com/maps/documentation/javascript/reference/map#TransitLayer
1746
+ */
1747
+ transitLayer?: google.maps.TransitLayer;
1748
+ /** Event emitted when the transit layer is initialized. */
1749
+ readonly transitLayerInitialized: EventEmitter<google.maps.TransitLayer>;
1750
+ ngOnInit(): void;
1751
+ private _initialize;
1752
+ ngOnDestroy(): void;
1753
+ private _assertLayerInitialized;
1754
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapTransitLayer, never>;
1755
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapTransitLayer, "map-transit-layer", ["mapTransitLayer"], {}, { "transitLayerInitialized": "transitLayerInitialized"; }, never, never, true, never>;
1756
+ }
1757
+
1758
+ interface ClusterOptions {
1759
+ position?: google.maps.LatLng | google.maps.LatLngLiteral;
1760
+ markers?: Marker[];
1761
+ }
1762
+ interface Cluster {
1763
+ marker?: Marker;
1764
+ readonly markers?: Marker[];
1765
+ bounds?: google.maps.LatLngBounds;
1766
+ position: google.maps.LatLng;
1767
+ count: number;
1768
+ push(marker: Marker): void;
1769
+ delete(): void;
1770
+ new (options: ClusterOptions): Cluster;
1771
+ }
1772
+ declare class MarkerClusterer extends google.maps.OverlayView {
1773
+ onClusterClick: onClusterClickHandler;
1774
+ protected algorithm: Algorithm;
1775
+ protected clusters: Cluster[];
1776
+ protected markers: Marker[];
1777
+ protected renderer: Renderer;
1778
+ protected map: google.maps.Map | null;
1779
+ protected idleListener: google.maps.MapsEventListener;
1780
+ constructor({ map, markers, algorithmOptions, algorithm, renderer, onClusterClick, }: MarkerClustererOptions);
1781
+ addMarker(marker: Marker, noDraw?: boolean): void;
1782
+ addMarkers(markers: Marker[], noDraw?: boolean): void;
1783
+ removeMarker(marker: Marker, noDraw?: boolean): boolean;
1784
+ removeMarkers(markers: Marker[], noDraw?: boolean): boolean;
1785
+ clearMarkers(noDraw?: boolean): void;
1786
+ render(): void;
1787
+ onAdd(): void;
1788
+ onRemove(): void;
1789
+ protected reset(): void;
1790
+ protected renderClusters(): void;
1791
+ }
1792
+ type onClusterClickHandler = (event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map) => void;
1793
+ interface MarkerClustererOptions {
1794
+ markers?: Marker[];
1795
+ /**
1796
+ * An algorithm to cluster markers. Default is {@link SuperClusterAlgorithm}. Must
1797
+ * provide a `calculate` method accepting {@link AlgorithmInput} and returning
1798
+ * an array of {@link Cluster}.
1799
+ */
1800
+ algorithm?: Algorithm;
1801
+ algorithmOptions?: AlgorithmOptions;
1802
+ map?: google.maps.Map | null;
1803
+ /**
1804
+ * An object that converts a {@link Cluster} into a `google.maps.Marker`.
1805
+ * Default is {@link DefaultRenderer}.
1806
+ */
1807
+ renderer?: Renderer;
1808
+ onClusterClick?: onClusterClickHandler;
1809
+ }
1810
+ declare enum MarkerClustererEvents {
1811
+ CLUSTERING_BEGIN = "clusteringbegin",
1812
+ CLUSTERING_END = "clusteringend",
1813
+ CLUSTER_CLICK = "click"
1814
+ }
1815
+ declare const defaultOnClusterClickHandler: onClusterClickHandler;
1816
+ interface Renderer {
1817
+ /**
1818
+ * Turn a {@link Cluster} into a `Marker`.
1819
+ *
1820
+ * Below is a simple example to create a marker with the number of markers in the cluster as a label.
2174
1821
  *
2175
1822
  * ```typescript
2176
1823
  * return new google.maps.Marker({
@@ -2181,5 +1828,178 @@ export declare interface Renderer {
2181
1828
  */
2182
1829
  render(cluster: Cluster, stats: ClusterStats, map: google.maps.Map): Marker;
2183
1830
  }
1831
+ interface ClusterStats {
1832
+ markers: {
1833
+ sum: number;
1834
+ };
1835
+ clusters: {
1836
+ count: number;
1837
+ markers: {
1838
+ mean: number;
1839
+ sum: number;
1840
+ min: number;
1841
+ max: number;
1842
+ };
1843
+ };
1844
+ new (markers: Marker[], clusters: Cluster[]): ClusterStats;
1845
+ }
1846
+ interface Algorithm {
1847
+ /**
1848
+ * Calculates an array of {@link Cluster}.
1849
+ */
1850
+ calculate: ({ markers, map }: AlgorithmInput) => AlgorithmOutput;
1851
+ }
1852
+ interface AlgorithmOptions {
1853
+ maxZoom?: number;
1854
+ }
1855
+ interface AlgorithmInput {
1856
+ /**
1857
+ * The map containing the markers and clusters.
1858
+ */
1859
+ map: google.maps.Map;
1860
+ /**
1861
+ * An array of markers to be clustered.
1862
+ *
1863
+ * There are some specific edge cases to be aware of including the following:
1864
+ * * Markers that are not visible.
1865
+ */
1866
+ markers: Marker[];
1867
+ /**
1868
+ * The `mapCanvasProjection` enables easy conversion from lat/lng to pixel.
1869
+ *
1870
+ * @see [MapCanvasProjection](https://developers.google.com/maps/documentation/javascript/reference/overlay-view#MapCanvasProjection)
1871
+ */
1872
+ mapCanvasProjection: google.maps.MapCanvasProjection;
1873
+ }
1874
+ interface AlgorithmOutput {
1875
+ /**
1876
+ * The clusters returned based upon the {@link AlgorithmInput}.
1877
+ */
1878
+ clusters: Cluster[];
1879
+ /**
1880
+ * A boolean flag indicating that the clusters have not changed.
1881
+ */
1882
+ changed?: boolean;
1883
+ }
1884
+
1885
+ /**
1886
+ * Angular component for implementing a Google Maps Marker Clusterer.
1887
+ *
1888
+ * See https://developers.google.com/maps/documentation/javascript/marker-clustering
1889
+ */
1890
+ declare class MapMarkerClusterer implements OnInit, OnChanges, OnDestroy {
1891
+ private readonly _googleMap;
1892
+ private readonly _ngZone;
1893
+ private readonly _currentMarkers;
1894
+ private readonly _closestMapEventManager;
1895
+ private _markersSubscription;
1896
+ /** Whether the clusterer is allowed to be initialized. */
1897
+ private readonly _canInitialize;
1898
+ /**
1899
+ * Used to customize how the marker cluster is rendered.
1900
+ * See https://googlemaps.github.io/js-markerclusterer/interfaces/Renderer.html.
1901
+ */
1902
+ renderer: Renderer;
1903
+ /**
1904
+ * Algorithm used to cluster the markers.
1905
+ * See https://googlemaps.github.io/js-markerclusterer/interfaces/Algorithm.html.
1906
+ */
1907
+ algorithm: Algorithm;
1908
+ /** Emits when clustering has started. */
1909
+ readonly clusteringbegin: Observable<void>;
1910
+ /** Emits when clustering is done. */
1911
+ readonly clusteringend: Observable<void>;
1912
+ /** Emits when a cluster has been clicked. */
1913
+ readonly clusterClick: EventEmitter<Cluster>;
1914
+ /** Event emitted when the marker clusterer is initialized. */
1915
+ readonly markerClustererInitialized: EventEmitter<MarkerClusterer>;
1916
+ _markers: QueryList<MarkerDirective>;
1917
+ /** Underlying MarkerClusterer object used to interact with Google Maps. */
1918
+ markerClusterer?: MarkerClusterer;
1919
+ ngOnInit(): Promise<void>;
1920
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
1921
+ ngOnDestroy(): void;
1922
+ private _createCluster;
1923
+ private _watchForMarkerChanges;
1924
+ private _destroyCluster;
1925
+ private _getInternalMarkers;
1926
+ private _assertInitialized;
1927
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapMarkerClusterer, never>;
1928
+ static ɵcmp: i0.ɵɵComponentDeclaration<MapMarkerClusterer, "map-marker-clusterer", ["mapMarkerClusterer"], { "renderer": { "alias": "renderer"; "required": false; }; "algorithm": { "alias": "algorithm"; "required": false; }; }, { "clusteringbegin": "clusteringbegin"; "clusteringend": "clusteringend"; "clusterClick": "clusterClick"; "markerClustererInitialized": "markerClustererInitialized"; }, ["_markers"], ["*"], true, never>;
1929
+ }
1930
+
1931
+ declare class GoogleMapsModule {
1932
+ static ɵfac: i0.ɵɵFactoryDeclaration<GoogleMapsModule, never>;
1933
+ static ɵmod: i0.ɵɵNgModuleDeclaration<GoogleMapsModule, never, [typeof GoogleMap, typeof MapBaseLayer, typeof MapBicyclingLayer, typeof MapCircle, typeof MapDirectionsRenderer, typeof MapGroundOverlay, typeof MapHeatmapLayer, typeof MapInfoWindow, typeof MapKmlLayer, typeof MapMarker, typeof MapAdvancedMarker, typeof DeprecatedMapMarkerClusterer, typeof MapPolygon, typeof MapPolyline, typeof MapRectangle, typeof MapTrafficLayer, typeof MapTransitLayer, typeof MapMarkerClusterer], [typeof GoogleMap, typeof MapBaseLayer, typeof MapBicyclingLayer, typeof MapCircle, typeof MapDirectionsRenderer, typeof MapGroundOverlay, typeof MapHeatmapLayer, typeof MapInfoWindow, typeof MapKmlLayer, typeof MapMarker, typeof MapAdvancedMarker, typeof DeprecatedMapMarkerClusterer, typeof MapPolygon, typeof MapPolyline, typeof MapRectangle, typeof MapTrafficLayer, typeof MapTransitLayer, typeof MapMarkerClusterer]>;
1934
+ static ɵinj: i0.ɵɵInjectorDeclaration<GoogleMapsModule>;
1935
+ }
1936
+
1937
+ interface MapDirectionsResponse {
1938
+ status: google.maps.DirectionsStatus;
1939
+ result?: google.maps.DirectionsResult;
1940
+ }
1941
+ /**
1942
+ * Angular service that wraps the Google Maps DirectionsService from the Google Maps JavaScript
1943
+ * API.
1944
+ *
1945
+ * See developers.google.com/maps/documentation/javascript/reference/directions#DirectionsService
1946
+ */
1947
+ declare class MapDirectionsService {
1948
+ private readonly _ngZone;
1949
+ private _directionsService;
1950
+ constructor(...args: unknown[]);
1951
+ /**
1952
+ * See
1953
+ * developers.google.com/maps/documentation/javascript/reference/directions
1954
+ * #DirectionsService.route
1955
+ */
1956
+ route(request: google.maps.DirectionsRequest): Observable<MapDirectionsResponse>;
1957
+ private _getService;
1958
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapDirectionsService, never>;
1959
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapDirectionsService>;
1960
+ }
1961
+
1962
+ interface MapGeocoderResponse {
1963
+ status: google.maps.GeocoderStatus;
1964
+ results: google.maps.GeocoderResult[];
1965
+ }
1966
+ /**
1967
+ * Angular service that wraps the Google Maps Geocoder from the Google Maps JavaScript API.
1968
+ * See developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder
1969
+ */
1970
+ declare class MapGeocoder {
1971
+ private readonly _ngZone;
1972
+ private _geocoder;
1973
+ constructor(...args: unknown[]);
1974
+ /**
1975
+ * See developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder.geocode
1976
+ */
1977
+ geocode(request: google.maps.GeocoderRequest): Observable<MapGeocoderResponse>;
1978
+ private _getGeocoder;
1979
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapGeocoder, never>;
1980
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapGeocoder>;
1981
+ }
1982
+
1983
+ type MapEventManagerTarget = {
1984
+ addListener<T extends unknown[]>(name: string, callback: (...args: T) => void): google.maps.MapsEventListener | undefined;
1985
+ } | undefined;
1986
+ /** Manages event on a Google Maps object, ensuring that events are added only when necessary. */
1987
+ declare class MapEventManager {
1988
+ private _ngZone;
1989
+ /** Pending listeners that were added before the target was set. */
1990
+ private _pending;
1991
+ private _listeners;
1992
+ private _targetStream;
1993
+ /** Clears all currently-registered event listeners. */
1994
+ private _clearListeners;
1995
+ constructor(_ngZone: NgZone);
1996
+ /** Gets an observable that adds an event listener to the map when a consumer subscribes to it. */
1997
+ getLazyEmitter<T>(name: string): Observable<T>;
1998
+ /** Sets the current target that the manager should bind events to. */
1999
+ setTarget(target: MapEventManagerTarget): void;
2000
+ /** Destroys the manager and clears the event listeners. */
2001
+ destroy(): void;
2002
+ }
2184
2003
 
2185
- export { }
2004
+ export { DeprecatedMapMarkerClusterer, GoogleMap, GoogleMapsModule, MapAdvancedMarker, MapBaseLayer, MapBicyclingLayer, MapCircle, MapDirectionsRenderer, MapDirectionsService, MapEventManager, MapGeocoder, MapGroundOverlay, MapHeatmapLayer, MapInfoWindow, MapKmlLayer, MapMarker, MapMarkerClusterer, MapPolygon, MapPolyline, MapRectangle, MapTrafficLayer, MapTransitLayer, MarkerClusterer, MarkerClustererEvents, defaultOnClusterClickHandler };
2005
+ export type { Algorithm, AlgorithmInput, AlgorithmOptions, AlgorithmOutput, AriaLabelFn, Calculator, Cluster, ClusterIconStyle, ClusterOptions, ClusterStats, HeatmapData, MapAnchorPoint, MapDirectionsResponse, MapGeocoderResponse, MarkerClustererOptions$1 as MarkerClustererOptions, Renderer, onClusterClickHandler };