this.map.getBounds()未定义

时间:2017-01-08 04:49:37

标签: google-maps ionic2

我正在关注Josh morony的教程和

试图获取谷歌地图的界限信息。

但getBounds()的结果是“未定义”

如何获取getBounds()的值?

我的发展环境是

“Ionic2(2.0.0-rc.4)+打字稿”

我的代码如下所示

  initMap(): Promise<any> {

    this.mapInitialised = true;

    return new Promise((resolve) => {

      let latLng = new google.maps.LatLng(37.481223, 126.952701);

      let mapOptions = {
        center: latLng,
        zoom: 15,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }

      this.map = new google.maps.Map(this.mapElement, mapOptions);

      let bounds = this.map.getBounds();

      console.log(bounds); <-- output "undefined"

      resolve(true);


    });

  }

提前致谢! :)

2 个答案:

答案 0 :(得分:0)

试试这个:)

                this.map.getBounds().getSouthWest().lat(), 
                this.map.getBounds().getNorthEast().lat(), 
                this.map.getBounds().getSouthWest().lng(), 
                this.map.getBounds().getNorthEast().lng()

答案 1 :(得分:0)

通过侦听tilesloaded事件,确保初始化地图并加载图块。此代码示例将输出纬度和经度值以及地图边界更改,例如平移或缩放。

google.maps.event.addListener(this.map, 'tilesloaded', () => { 
     console.log(this.map.getBounds().getNorthEast().lat());
     console.log(this.map.getBounds().getNorthEast().lng());
     console.log(this.map.getBounds().getSouthWest().lat());
     console.log(this.map.getBounds().getSouthWest().lng());
});