谷歌地图JavaScript街景错误

14

最新版本的Google Maps JavaScript(3.32.13)与Prototype.js版本1.7.3冲突。

当我在页面上包含Prototype时,Google Maps的街景视图无法处理鼠标拖动以“查看周围”。

这是已知的问题吗?有什么解决方法吗?


2
我也遇到了你所说的情况 - 我正在尝试弄清楚为什么事件没有触发。 - Geek Num 88
3
可能Prototype.js在填充一些包含在ES6标准中的对象或函数。由于Function#bind,我曾经看到了一些关于Prototype和Google地图API的问题。 - xomena
3个回答

13
所以问题在于PrototypeJS将Array.from覆盖为$A()的别名,后者创建了一个扩展的数组对象。
如果(非常重要的条件)你没有使用Array.from来创建数组的浅拷贝并期望使用Prototype扩展方法,则可以删除/注释掉prototype.js中的该行代码。
Array.from = $A;

在我的1.7.3版本中,它是第1114行


谢谢!我没有依赖于 prototype.js 的 Array.from。这个方法可行! - Drew LeSueur

8

我也曾经为Prototype.js和Google API之间的冲突而苦恼。由于Prototype.js深入项目中,因此无法移除它。我决定进行替换。

Array.from = $A;

by

Array.from = Array.from || $A;

在prototype.js文件中,它保留了对那些没有原生实现Array.from方法的旧版浏览器的支持。但这并不能解决Prototype.js和谷歌API在旧版浏览器上的冲突!此站点使用不支持可迭代对象的实现来覆盖Array.from(),这可能会导致Google Maps JavaScript API v3无法正常工作。

3

谢谢您关注这个问题! - Drew LeSueur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接