Material 调用 leaflet Marker 的 onClick 时对话框卡住

Material Dialog gets stuck when called onClick of leaflet Marker

我有一个项目,其中有一张地图(使用 ngx-leaflet )。
单击 的标记上,我想显示来自 Angular Material 的对话框。

对话框打开,但当我单击关闭按钮时,它再次打开然后关闭。

我尝试了什么:

我发现了什么:

示例代码的进一步说明:

演示

我在这里做了一个演示:Example Project

原因是您在 "Angular World" 之外触发了模态的打开,因为它与 google 地图标记上的 click 事件相关联。然后你有这些类型的不一致。

2 个解决方案:

  • 使用 agm-map 将 angular 化 google 映射 API 的库
  • 继续直接使用 google 地图 API,但添加 NgZone 以明确告诉您要在 angular 世界中执行一些代码:

m.addEventListener("click", ()=> { this.zone.run(() => {this.openExampleDialog();}) })

工作fiddle here