Angular-google-maps: GoogleMapsAPIWrapper getBounds不返回

创建于 2016-10-08  ·  21评论  ·  资料来源: SebastianM/angular-google-maps

你好,
我正在尝试获取GoogleMapsAPIWrapper服务的地图范围。
我正在使用Promise函数getBounds()。

什么也没有退还。

这是我的代码。

constructor(private searchService: SearchService, 
    private wrapper: GoogleMapsAPIWrapper, 
    private _loader: MapsAPILoader, 
    private zone: NgZone) {
  }

  ngOnInit() {
   this.wrapper.getBounds().then(x => console.log(x));  
  }

不会调用console.log函数,因为peomise从不返回任何内容。

谢谢

stale discussion / question

最有用的评论

@SebastianM
我正在使用Angular4,我可以确认GoogleMapsAPIWrapper的诺言不起作用。

所有21条评论

@betfun将此组件放在模板中的哪里? 在 - 的里面成分?

我自己做的,也没有用,这是在Component上的。

即使调用“ getNativeMap”并对其进行“然后”操作也根本没有被调用。

尝试在模板中具有<sebm-google-maps>的组件上执行此操作时,我遇到了相同的问题。 我的解决方法是创建一个自定义组件,放入<sebm-googe-maps><custom-component></custom-component></sebm-google-maps>以执行所需的功能。

我有一个类似的问题。 当我尝试执行以下操作时:
this._wrapper.getNativeMap()。then((map)=> console.log(“ mappp”,map));

mappp没有打印出来。 如何确定实例与sebm-google-map实例相同?

我将不胜感激任何帮助

我有一个显示地图的MapComponent,我想从另一个组件获取它的边界。 我该怎么做呢?

我也看到同样的问题。

在模板中使用sebm-google-map组件,您可以使用:

<sebm-google-map (boundsChange)="boundsChange($event)"></sebm-google-map>

然后在您的组件内部:

boundsChange(event) {
    console.log(event.getNorthEast().lat());
    console.log(event.getNorthEast().lng());
    console.log(event.getSouthWest().lat());
    console.log(event.getSouthWest().lng());
  }

@josueadelima谢谢!
这仅在用户平移地图时有效。
当加载地图并且用户未触摸地图时,我还需要获取边界。

@SebastianM
我正在使用Angular4,我可以确认GoogleMapsAPIWrapper的诺言不起作用。

@craftpip我也在地图加载上遇到了boundsChange事件...

就像@craftpip提到的诺言不起作用一样,Angular4也是如此

如果您使用GoogleMapsAPIWrapper而不是sebm-google-map模板创建地图,也许(没有测试过)它们可以工作,但是随后您失去了sebm-google-map提供的许多功能。

我正在尝试从加载时的指令<agm-circle>中获取限制。 我尝试访问本机元素,但无法从本机元素获取AgmCircle对象。

this.circleManager.getBounds(this.searchCircle).then((bounds) => { console.log(bounds); }); 

http://plnkr.co/edit/nG6lUsm1KLbQRv3SRdgW?p=preview

感谢对此的任何帮助。

有什么解决办法吗? 我遇到了同样的问题,使用事件并不是真正的解决方案。

感谢@jplew
这样可以得到界限;)

latNorth: number
  @ViewChild(AgmMap) mapElement: any
  ...

  checkBounds(map) {

    const ln = this.mapElement._mapsWrapper.getBounds()
      .then( (latLngBounds) => {
        return latLngBounds.getNorthEast().lat()
      })
    ln.then( x => this.latNorth = x )

Promise仍然无法在Angular 4中使用,但这不仅是getBounds函数,还有createMarker这样的其他函数,在这些函数中Promise不会被执行

由于此问题最近没有活动,因此已被自动标记为陈旧。 如果没有其他活动发生,它将关闭。 感谢你的贡献。

仍然有同样的问题。

由于此问题最近没有活动,因此已被自动标记为陈旧。 如果没有其他活动发生,它将关闭。 感谢你的贡献。

即使到现在,仍然有同样的问题,有人让它起作用了吗?

你们为什么甚至使用GoogleAPIWrapper的getBounds?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ChrisDevinePimss picture ChrisDevinePimss  ·  3评论

PeterSisovsky picture PeterSisovsky  ·  3评论

stot3 picture stot3  ·  3评论

matishw picture matishw  ·  3评论

shedar picture shedar  ·  4评论