Google Maps JS 冻结 Internet Explorer 11

Google Maps JS freezes Internet Explorer 11

直接来自 Google Maps JS 文档的示例在 IE 11 中冻结。https://google-developers.appspot.com/maps/documentation/javascript/examples/full/map-simple

如果 IE window 很小(我显示器的 1/4),它会加载一些延迟。 window 越大,延迟越大。最大化时,浏览器会冻结。有时,它会说有一个很长的 运行 脚本然后死掉。

我的机器资源充足,我在其他浏览器(包括 Edge、Chrome、Firefox)中没有问题。这已被许多用户报告。该问题仅在使用 Google Maps JS 和 IE 11 时存在。

我试过使用不同的 gmap 版本,但 none 还是有帮助。

目前 IE11 和 Google 地图 API v3.35:

存在各种问题
  • 地图没有出现(但一旦打开开发者控制台就会出现);
  • 地图卡住,需要很长时间才能响应;
  • Internet Explorer 中出现脚本错误,错误消息类似于以下内容:此网页的问题可能会阻止其正常显示或正常运行...

问题跟踪器中的主要参考文献是:

你应该指定一个版本 (<script src="https://maps.googleapis.com/maps/api/js?v=3.34"></script>)。

问题似乎与地图的宽度有关:必须以像素为单位指定。您不能让它未指定(或使用 %)。所以,如果你真的需要最新的功能,作为(不推荐)快速修复,你可以提前计算所需的宽度。

我找到了适合我的解决方案:将版本设置为 3.34 并关闭 POI 功能、标签元素的可见性。