javascript - 谷歌地图 setCenter 在 IE8 中不工作

标签 javascript internet-explorer google-maps google-maps-api-3 internet-explorer-8

我检查过other questions在 StackOverflow 上与 IE8 中的 setCenter 和谷歌地图相关,但它们似乎都没有描述我所看到的问题。我的 javascript 代码在可折叠 div 内构造 map 对象,并且由于谷歌地图的实现,在显示 div 时需要调整大小/重新居中操作。

该代码在 IE9/10、Firefox、Safari 和 Chrome 中工作正常,但在 IE8 中不起作用 - 调整大小工作正常,但 map 未居中,而是标记出现在左上角,就在可视范围之外区域(表明 setCenter 调用没有执行任何操作)。

调整以下代码的大小/居中:

var center = map.getCenter();
google.maps.event.trigger(map, 'resize');
map.setCenter(center);

最佳答案

从来没有弄清楚为什么这在 IE8 下不起作用。最后,我编写了一个令人不快的黑客代码,它检测 IE8 并手动平移容器以使 map 居中,但如果有人有解决方案,我很乐意用不那么丑陋的东西替换它......

关于javascript - 谷歌地图 setCenter 在 IE8 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18381422/

相关文章:

javascript - 改变 Canvas 中动画的形状

javascript - 全局函数的 typescript 声明

javascript - jQuery `submit` 方法忽略使用 GET 发送的 POST。为什么?

internet-explorer - 如何使用 Windows Phone 的麦克风在网页中录制音频?

java - Android 谷歌导航应用程序 : can I edit the source code?

javascript - 使用 ko.mapping 问题映射 Json 字符串

c# - 将页面呈现为图片

CSS 适用于 Firefox 但不适用于 IE9

javascript - 从 QWebView *Google Maps API、PyQT* 运行 JavaScript 函数

安卓 : open local map file