@@ -42,7 +42,9 @@ import {MarkerManager} from '../services/managers/marker-manager';
4242 'backgroundColor' , 'draggableCursor' , 'draggingCursor' , 'keyboardShortcuts' , 'zoomControl' ,
4343 'styles' , 'usePanning' , 'streetViewControl' , 'fitBounds' , 'scaleControl'
4444 ] ,
45- outputs : [ 'mapClick' , 'mapRightClick' , 'mapDblClick' , 'centerChange' , 'idle' , 'boundsChange' ] ,
45+ outputs : [
46+ 'mapClick' , 'mapRightClick' , 'mapDblClick' , 'centerChange' , 'idle' , 'boundsChange' , 'zoomChange'
47+ ] ,
4648 host : { '[class.sebm-google-map-container]' : 'true' } ,
4749 styles : [ `
4850 .sebm-google-map-container-inner {
@@ -198,6 +200,11 @@ export class SebmGoogleMap implements OnChanges, OnInit {
198200 */
199201 idle : EventEmitter < void > = new EventEmitter < void > ( ) ;
200202
203+ /**
204+ * This event is fired when the zoom level has changed.
205+ */
206+ zoomChange : EventEmitter < number > = new EventEmitter < number > ( ) ;
207+
201208 constructor ( private _elem : ElementRef , private _mapsWrapper : GoogleMapsAPIWrapper ) { }
202209
203210 /** @internal */
@@ -320,7 +327,10 @@ export class SebmGoogleMap implements OnChanges, OnInit {
320327
321328 private _handleMapZoomChange ( ) {
322329 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+ } ) ;
324334 } ) ;
325335 this . _observableSubscriptions . push ( s ) ;
326336 }
0 commit comments