我一直在尝试使用DrawingManagerMaps API 的官方 Angular 组件包装器,但它没有按预期工作。如果有人能让它发挥作用,我将很感激能找到解决方案。这是我尝试过但没有运气的解决方案的片段和 stackblitz 链接。(在 stackblitz 中它无法识别 google 命名空间,但如果你下载它在本地计算机上就可以了)
this.drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [google.maps.drawing.OverlayType.POLYGON]
}
});
this.drawingManager.setMap(this.map._googleMap);
Run Code Online (Sandbox Code Playgroud)
https://stackblitz.com/edit/angular-vvwbdg
Github 问题链接: https ://github.com/angular/components/issues/18599
编辑1:事实证明,问题是地图没有完全加载并且DrawingManager之前的设置没有生效。包装器模块中没有加载回调。但 Angular 的 AfterViewInit 似乎做得很好。