agm-map 在非活动 ngb-tab 上使用 fitbounds 和 GeoJson

agm-map on a non-active ngb-tab using fitbounds with GeoJson

我正在尝试让 agm-map 显示在 ngb-tabset 的第二个选项卡上,并在加载的 geojson 周围显示 fitbounds

这是第一个选项卡上的地图的 stackblitz - 它工作正常,除了第一次加载,当 'google is undefined'。 (我通常会根据用户输入从 API 加载 geojson 数据,因此 google 地图脚本会在那时加载。) https://stackblitz.com/edit/angular-8-app-example-6ynh9n

如果您取消注释 html 中的另一个(第一个)ngb-tab,那么一切都会解决:现在 ViewChild (this.agmMap) 未定义ngAfterViewInit。如果你能解决这个问题(通过使用 (tabChange)="tabChanged($event)" 之类的东西,那么当你点击离开地图选项卡,然后返回它时,地图不适合 geojson,因为地图已被销毁并重新创建; agmMap 也没有重新初始化 (mapReady)。

(我也无法让 agmMap 的 fitbounds 工作,所以我直接使用 GoogleMap 的 fitbounds。)

正确,这是已知的issue。解决方法是延迟加载选项卡。