在iFrame中的谷歌地图API v3不起作用 - 在IE中发布

时间:2012-05-18 14:52:35

标签: google-maps iframe google-maps-api-3 internet-explorer-8

我有一个CMS网站(托管在A服务器上),并希望在其中一个页面上放置一个Google Map。

我所做的是创建一个新的html页面(托管在B服务器上),该页面执行映射并使用Google API v3添加少量标记。

我们的CMS就像维基百科(我们可以编辑页面),所以我想到将iframe(在A服务器的页面上)添加到我创建的新html页面(位于B服务器上)。 IE,Chrome,FF中的所有内容都可以完美加载我可以在地图上看到地图上加载10-20个标记的iFrame。

问题出在这里:在IE8中地图被冻结,我无法使用鼠标在整个地图中导航。我仍然可以加载infowindows但拖动它时地图不会移动。

更多细节:

  • 如果我将相同的iFrame放在不同的主机上(与CMS机器不同),它可以毫无问题地工作 - 但显然我们需要在CMS中显示它。
  • 如果我在IE8上切换兼容模式,它会开始工作:它会让我使用鼠标移动/拖动地图。
  • 如果我将iFrame指向网络上通过SSL提供的网页,它会正常工作。
  • 如果映射是在v2上完成的(而不是v3) - 它似乎也在工作。

2 个答案:

答案 0 :(得分:0)

如果没有网址进行测试,我们只能猜测。

这是一对夫妇:

  • 由于您提到了SSL,请确保您通过SSL加载Maps API,并且您的问题当前不是由非SSL内容引起的。如果是这种情况,IE开发人员工具应该在控制台上有警告。
  • 使用iframe中的特定于IE的X-UA-Compatible header/meta tag来指定兼容模式。

答案 1 :(得分:0)

实际上它适用于IE,但你需要设置宽度和高度。 默认情况下,IE不接受宽度:100%和高度:100%,您必须执行以下操作:

<style type="text/css">
html
{
    height:100%;
}
body
{
    height:100%;
    margin:0;
    padding:0;
}
#google_map
{
    height:100%;
    width:100%;
    height:inherit;
    width:inherit;
}
</style>

Google地图位于div =“google_map”中。

<div id="google_map"></div>