@angular/google-maps 21.0.0-next.1 → 21.0.0-next.2
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/fesm2022/google-maps.mjs +28 -12
- package/fesm2022/google-maps.mjs.map +1 -1
- package/index.d.ts +12 -6
- package/package.json +1 -1
package/fesm2022/google-maps.mjs
CHANGED
|
@@ -21,8 +21,12 @@ class MapEventManager {
|
|
|
21
21
|
constructor(_ngZone) {
|
|
22
22
|
this._ngZone = _ngZone;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Gets an observable that adds an event listener to the map when a consumer subscribes to it.
|
|
26
|
+
* @param name Name of the event for which the observable is being set up.
|
|
27
|
+
* @param type Type of the event (e.g. one going to a DOM node or a custom Maps one).
|
|
28
|
+
*/
|
|
29
|
+
getLazyEmitter(name, type) {
|
|
26
30
|
return this._targetStream.pipe(switchMap(target => {
|
|
27
31
|
const observable = new Observable(observer => {
|
|
28
32
|
// If the target hasn't been initialized yet, cache the observer so it can be added later.
|
|
@@ -30,17 +34,29 @@ class MapEventManager {
|
|
|
30
34
|
this._pending.push({ observable, observer });
|
|
31
35
|
return undefined;
|
|
32
36
|
}
|
|
33
|
-
|
|
37
|
+
let handle;
|
|
38
|
+
const listener = (event) => {
|
|
34
39
|
this._ngZone.run(() => observer.next(event));
|
|
35
|
-
}
|
|
40
|
+
};
|
|
41
|
+
if (type === 'native') {
|
|
42
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
43
|
+
(!target.addEventListener || !target.removeEventListener)) {
|
|
44
|
+
throw new Error('Maps event target that uses native events must have `addEventListener` and `removeEventListener` methods.');
|
|
45
|
+
}
|
|
46
|
+
target.addEventListener(name, listener);
|
|
47
|
+
handle = { remove: () => target.removeEventListener(name, listener) };
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
handle = target.addListener(name, listener);
|
|
51
|
+
}
|
|
36
52
|
// If there's an error when initializing the Maps API (e.g. a wrong API key), it will
|
|
37
53
|
// return a dummy object that returns `undefined` from `addListener` (see #26514).
|
|
38
|
-
if (!
|
|
54
|
+
if (!handle) {
|
|
39
55
|
observer.complete();
|
|
40
56
|
return undefined;
|
|
41
57
|
}
|
|
42
|
-
this._listeners.push(
|
|
43
|
-
return () =>
|
|
58
|
+
this._listeners.push(handle);
|
|
59
|
+
return () => handle.remove();
|
|
44
60
|
});
|
|
45
61
|
return observable;
|
|
46
62
|
}));
|
|
@@ -3539,23 +3555,23 @@ class MapAdvancedMarker {
|
|
|
3539
3555
|
/**
|
|
3540
3556
|
* This event is fired when the AdvancedMarkerElement is double-clicked.
|
|
3541
3557
|
*/
|
|
3542
|
-
mapDblclick = this._eventManager.getLazyEmitter('dblclick');
|
|
3558
|
+
mapDblclick = this._eventManager.getLazyEmitter('dblclick', 'native');
|
|
3543
3559
|
/**
|
|
3544
3560
|
* This event is fired when the mouse moves out of the AdvancedMarkerElement.
|
|
3545
3561
|
*/
|
|
3546
|
-
mapMouseout = this._eventManager.getLazyEmitter('mouseout');
|
|
3562
|
+
mapMouseout = this._eventManager.getLazyEmitter('mouseout', 'native');
|
|
3547
3563
|
/**
|
|
3548
3564
|
* This event is fired when the mouse moves over the AdvancedMarkerElement.
|
|
3549
3565
|
*/
|
|
3550
|
-
mapMouseover = this._eventManager.getLazyEmitter('mouseover');
|
|
3566
|
+
mapMouseover = this._eventManager.getLazyEmitter('mouseover', 'native');
|
|
3551
3567
|
/**
|
|
3552
3568
|
* This event is fired when the mouse button is released over the AdvancedMarkerElement.
|
|
3553
3569
|
*/
|
|
3554
|
-
mapMouseup = this._eventManager.getLazyEmitter('mouseup');
|
|
3570
|
+
mapMouseup = this._eventManager.getLazyEmitter('mouseup', 'native');
|
|
3555
3571
|
/**
|
|
3556
3572
|
* This event is fired when the AdvancedMarkerElement is right-clicked.
|
|
3557
3573
|
*/
|
|
3558
|
-
mapRightclick = this._eventManager.getLazyEmitter('
|
|
3574
|
+
mapRightclick = this._eventManager.getLazyEmitter('auxclick', 'native');
|
|
3559
3575
|
/**
|
|
3560
3576
|
* This event is repeatedly fired while the user drags the AdvancedMarkerElement.
|
|
3561
3577
|
* https://developers.google.com/maps/documentation/javascript/reference/advanced-markers#AdvancedMarkerElement.drag
|