关于以下问题:
Unspecified Error from Google Maps API on IE8
在功能上
函数Mp(a,b){..}
以下代码行触发错误
var e = a.getBoundingClientRect();
复制此错误
制作一个Google Map页面(确保它足够高,以确保您有足够的空间来滚动页面,而不是全屏显示地图)
放置标记
以调试模式在IE(我在10中测试过)中打开应用
页面加载后,点击一个标记,使其显示信息窗口,即弹出窗口
尝试滚动页面
您会得到错误。
getBoundingClientRect(),一种IE功能,可返回容器的位置。这些问题可能与工具提示(即信息窗口)有关。
进一步了解:http://ejohn.org/blog/getboundingclientrect-is-awesome/
尝试了解决方案:google.maps.event.clearListeners(window,'resize');
没用
示例应用程序:https://googledrive.com/host/0B-Y3wXhWdoQebnBUV2RNRWhJZE0/test-shell.html
礼貌:@ user2250544
最佳答案
如果您喜欢这种东西,这似乎是个肮脏的骇客:
HTMLElement.prototype.getBoundingClientRect = (function () {
var oldGetBoundingClientRect = HTMLElement.prototype.getBoundingClientRect;
return function() {
try {
return oldGetBoundingClientRect.apply(this, arguments);
} catch (e) {
return {
left: '',
right: '',
top: '',
bottom: ''
};
}
};
})();