谷歌地图问题与IE8

时间:2014-12-22 08:48:53

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

我正在使用Google API v3版本来显示地图。

我有一个包含3个标签的页面。在第二个标签中显示Google地图。我的问题是在ie8中看不到的标记。我在没有选项卡的页面中检查了相同的内容,并且在IE8中正确加载了谷歌地图。

我正在使用脚本

$('.tabLocation').click(function (e) {
            var myMap = document.getElementById("mapPanel");

            var lastCenter = map.getCenter();
            var myMap = document.getElementById("mapPanel");
            google.maps.event.trigger(myMap, 'resize');
            map.setCenter(lastCenter)
            map.setZoom(map.getZoom());
});

2 个答案:

答案 0 :(得分:0)

Google地图与IE8不兼容,因为IE8不支持HTML5技术。

许多大型科技公司,如谷歌,已经停止支持旧版浏览器(包括IE8),以便专注于推进互联网技术的未来(如“HTML5”)。

也许最值得注意的是,微软已经通过Windows更新强制从IE8到IE9进行IE更新(尽管你可以选择退出) - 原因与上述相同。您可以在去年的Windows博客文章中阅读更多内容。

不幸的是,我们无法为IE8和其他不支持HTML5的旧浏览器提供支持。

您还可以阅读Wix博客here上的文章。

答案 1 :(得分:0)

我认为你的代码错了:

google.maps.event.trigger(myMap, 'resize');

Google地图触发器需要地图对象,但 myMap 不是地图对象,它是一个html元素。

这里是谷歌地图触发器的原型:

google.maps.event.trigger(map-object, 'event-name');

map-object由以下代码创建:

new google.maps.Map(element-container, options);

元素容器可以通过以下代码获取:

document.getElementById('id');

我认为你的代码应该像这样改变:

$('.tabLocation').click(function (e)
{
    var lastCenter = map.getCenter();
    google.maps.event.trigger(map, 'resize');
    map.setCenter(lastCenter)
    map.setZoom(map.getZoom());
});