0

我有一个 CMS 网站(托管在 A 服务器上)并且想在其中的一个页面上放置一个谷歌地图。

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

我们的 CMS 类似于 Wikipedia(我们可以编辑页面),所以我想将 iframe(在来自 A 服务器的页面上)添加到我创建的新 html 页面(位于 B 服务器上)。一切都在 IE、Chrome、FF 中完美加载,我可以在 iFrame 中看到地图加载,地图上有 10-20 个标记。

这是问题所在:在 IE8 中地图被冻结,我无法使用鼠标在地图中导航。我仍然可以加载信息窗口,但是当我拖动它时地图没有移动。

更多细节:

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

2 回答 2

0

如果没有要测试的 url,我们只能进行猜测。

这是一对:

  • 由于您提到了 SSL,请确保您通过 SSL 加载 Maps API,并且您的问题当前不是由非 SSL 内容引起的。如果是这种情况,IE 开发人员工具应该在控制台上显示警告。
  • 在 iframe 中使用 IE 特定的X-UA-Compatible 标头/元标记来指定兼容模式。
于 2012-05-20T13:48:29.323 回答
0

实际上它在 IE 中工作,但你需要设置宽度和高度。默认情况下 IE 不接受 width:100% 和 height: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 地图位于 id="google_map" 的 div 中。

<div id="google_map"></div>
于 2013-10-13T04:45:00.550 回答