@@ -42,7 +42,9 @@ import {MarkerManager} from '../services/managers/marker-manager';
42
42
'backgroundColor' , 'draggableCursor' , 'draggingCursor' , 'keyboardShortcuts' , 'zoomControl' ,
43
43
'styles' , 'usePanning' , 'streetViewControl' , 'fitBounds' , 'scaleControl'
44
44
] ,
45
- outputs : [ 'mapClick' , 'mapRightClick' , 'mapDblClick' , 'centerChange' , 'idle' , 'boundsChange' ] ,
45
+ outputs : [
46
+ 'mapClick' , 'mapRightClick' , 'mapDblClick' , 'centerChange' , 'idle' , 'boundsChange' , 'zoomChange'
47
+ ] ,
46
48
host : { '[class.sebm-google-map-container]' : 'true' } ,
47
49
styles : [ `
48
50
.sebm-google-map-container-inner {
@@ -198,6 +200,11 @@ export class SebmGoogleMap implements OnChanges, OnInit {
198
200
*/
199
201
idle : EventEmitter < void > = new EventEmitter < void > ( ) ;
200
202
203
+ /**
204
+ * This event is fired when the zoom level has changed.
205
+ */
206
+ zoomChange : EventEmitter < number > = new EventEmitter < number > ( ) ;
207
+
201
208
constructor ( private _elem : ElementRef , private _mapsWrapper : GoogleMapsAPIWrapper ) { }
202
209
203
210
/** @internal */
@@ -320,7 +327,10 @@ export class SebmGoogleMap implements OnChanges, OnInit {
320
327
321
328
private _handleMapZoomChange ( ) {
322
329
const s = this . _mapsWrapper . subscribeToMapEvent < void > ( 'zoom_changed' ) . subscribe ( ( ) => {
323
- this . _mapsWrapper . getZoom ( ) . then ( ( z : number ) => this . zoom = z ) ;
330
+ this . _mapsWrapper . getZoom ( ) . then ( ( z : number ) => {
331
+ this . zoom = z ;
332
+ this . zoomChange . emit ( z ) ;
333
+ } ) ;
324
334
} ) ;
325
335
this . _observableSubscriptions . push ( s ) ;
326
336
}
0 commit comments