typescript Angular在iframe中使用google maps创建一个Modal

lqfhib0f  于 2023-08-07  发布在  TypeScript
关注(0)|答案(2)|浏览(113)

我正试图在我的angular应用程序中创建一个模态,当打开时,在iframe中显示谷歌Map。
我的问题是iframe不加载,我在浏览器控制台得到这个错误:
chromewebdata/:1拒绝在框架中显示'https://www.google.com/',因为它将'X-Frame-Options'设置为'sameorigin'。
下面是我的modal的代码:

<h2 mat-dialog-title>Google maps</h2>
<mat-dialog-content class="mat-typography">
  <iframe [src]="'https://maps.google.com/?q={{customer.address}},{{customer.city}}' | safe" width="800" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</mat-dialog-content>
<mat-dialog-actions align="end">
  <button mat-button mat-dialog-close>Zapri</button>
</mat-dialog-actions>

字符串
客户地址和城市是我从API获取的数据,而“|安全”是一个URL消毒剂管道...我的想法是把这样的URL放在一起:https://maps.google.com/?q=1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003
这是否正确的做法呢?我应该做些不同的事情吗?

i86rm4rw

i86rm4rw1#

Google Maps页面上的X-Frame-Options头不允许在iframe中使用Google Maps。错误就是这么说的。
如果你想在你的应用程序中显示谷歌Map,你需要使用谷歌MapJavaScript API。
Angular团队提供了一个google-map组件来帮助你。

iklwldmw

iklwldmw2#

您可以尝试单击Map主页上的共享按钮

,切换到“嵌入”选项卡,并从那里复制嵌入到iframe中的模板。它甚至包含<iframe>标签,所以我认为这是专为它设计的。

相关问题