2016-05-23 17 views
1

から番号を取得します。私は約束

getZoom(): Promise<number> { 
    return this._googleMapsApi.getMap().then((map:google.maps.Map) => map.getZoom()); 
} 

私は、ズームレベルをチェックしたいと思います:私は間違って

private onStartZoomEvent() { 
    console.log('on start zoom'); 
    if (this._mapController.getZoom().valueOf() !== 12) { 
    this.disableGeolocationButton(); 
    this._eventAggregator.trigger(this.disableGeolocation); 
    } 
} 

何をしているのですか?

答えて

3

約束のポイントは、値を同期して取得できないことです。 getZoom()を呼び出すと、約束を返します。次に、そのPromiseでvalueOf()を呼び出そうとします。その方法は存在せず、その約束はまだ成就していない。

それは次のようになります。

private onStartZoomEvent() { 
    console.log('on start zoom'); 
    this._mapController.getZoom() 
     .then((zoom) => { 
      if (zoom.valueOf() !== 12) { 
      this.disableGeolocationButton(); 
      this._eventAggregator.trigger(this.disableGeolocation); 
     }); 
    } 
}