问题描述如下:在使用Angular的Google地图库agm时,可能会遇到地图加载缓慢,或者视图渲染出现阻塞的问题。这可能是由于agm阻止Angular视图的变化检测所导致的。
解决方法的步骤如下:
将 agmMap 的 [usePanning]="false" 属性设置为 false,以便禁用agm的默认变动检测。代码示例如下:
在需要更新Agm的地图视图的地方,手动触发变动检测(change detection)。为了避免导致所有视图的变动检测被重新运行,可以使用ChangeDetectorRef的detach()方法来“解除绑定”,进行单个的视图更新。代码示例如下:
import { Component, ChangeDetectorRef } from '@angular/core';
@Component({
selector: 'app-my-component',
template:
})
export class MyComponent { lat = 51.678418; lng = 7.809007; zoom = 8;
constructor(private cdRef:ChangeDetectorRef) {}
updateView() { this.lat = 55.7558; this.lng = 37.6173;
this.cdRef.detectChanges();
} }
以上两种方法可以帮助你解决agm所导致的渲染阻塞的问题。