嵌入式Google地图错误 - 屏蔽了包含原点的框架

时间:2013-05-23 19:39:01

标签: php google-maps iframe x-frame-options

我正在尝试在客户的网站上嵌入Google地图。

这是我使用的嵌入代码,它是从嵌入它的页面的视图源复制而来的。我按照本页http://maps.google.ca/help/maps/getmaps/plot-one.html

中的说明进行操作
<iframe width="180" height="250" frameborder="0" scrolling="no" marginheight="0"
marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=
&q=5590+Joliet+Street+Denver,+Colorado+88239&aq=&sll=34.168218,-111.930907
&sspn=15.047206,26.30127&ie=UTF8&hq=&hnear=5590+Joliet+St,+Denver,+Colorado
+80239&ll=39.797915,-104.860812&spn=0.013667,0.025685&t=m&z=14&output=embed">
</iframe>

我收到错误(Chrome开发者工具,控制台)阻止原始“http://maps.google.com”的框架访问具有“http link here”的框架。协议,域和端口必须匹配。“并且不显示地图。

有趣的是,当我将其粘贴到文本文档并将其保存为HTML并在Chrome中打开时,将显示地图,但我仍然在Dev Tools中得到相同的错误(除了原点为空)。

应用程序是php,我尝试过remove_header();选项并没有改变任何内容,我确保iframe中的链接包含output = embed。

我尝试过FF,Chrome和IE 10,结果相同。

以下是相关网页的链接。 (无法发布IP地址链接) 198点154点220点143 /联系人/

4 个答案:

答案 0 :(得分:1)

您的协议不匹配,https与http。我刚看到您发布的页面上显示的所有控制台错误,他们都将Google地图链接显示为https,您的网站为http。

在SO上出现了几次,反复出现的建议是使用Google Maps API。

Getting http/https protocols to match with <iframe> for maps.google.com

答案 1 :(得分:0)

我认为你应该设置正确的X-Frame-Options标题。

请参阅https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

答案 2 :(得分:0)

在https中缺少“s”,这是正确的代码:

<iframe width="150" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=it&amp;geocode=&amp;q=5590%2BJoliet%2BStreet%2BDenver,%2BColorado&amp;sll=37.0625,-95.677068&amp;sspn=55.718442,121.201172&amp;ie=UTF8&amp;hq=&amp;hnear=5590+Joliet+St,+Denver,+Colorado+80239&amp;t=m&amp;ll=39.79792,-104.860811&amp;spn=0.016486,0.012789&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe>

答案 3 :(得分:0)

Chrome中存在一个错误,可以阻止此时显示的嵌入式地图。解决它的方法是直接使用maps API而不是嵌入。有关详细信息,请参阅此问题 和解决方案

https://stackoverflow.com/a/15113050/2086687