Google Maps和Richfaces 3.3.3(prototype.js 1.6.0.3)可能不兼容

fon*_*kap 4 google-maps richfaces prototypejs google-maps-api-3

我有一个基于RichFaces 3.3.3的Web应用程序,它使用谷歌地图(maps-api v3),直到最近一直运行正常.

最近未能绘制地图的用户控件.地图绘制正常,但控件不会出现,例如地图类型或缩放控件.

调查一下,似乎与prototype.js的兼容性问题.

如果您只是将此行添加到developers.google.com中的示例:

<script src="http://prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js"></script>
Run Code Online (Sandbox Code Playgroud)

Chrome浏览器中的js控制台记录下:

Uncaught TypeError: undefined is not a function       prototype-1.6.0.3.js:641
Run Code Online (Sandbox Code Playgroud)

并且用户控制消失...

有人知道如何解决这个问题?

现在我将尝试在richfaces中更改prototype.js以获得更现代的版本......当我知道更多时,我会更新.

提前致谢!

---更新---

  • 使用Google地图的生产版解决了这个问题.现在有必要在脚本标记的src中明确地输入v = 3.谢谢Dr.Molle.
  • 将prototypejs更新为(1.7.2).与实验一起工作也很好.谢谢@eepete.

---更新2 ---

  • 如果你需要使用这个旧版本的原型,使用v = 3不再使用richfaces 3.3.3(prototype-1.6.0.3.js),现在你需要在谷歌地图中明确使用v = 3.17.

换句话说,在页面中使用它来保护与prototype-1.6.0.3.js的兼容性:

<script src="https://maps.googleapis.com/maps/api/js?v=3.17"></script>
Run Code Online (Sandbox Code Playgroud)

eep*_*ete 8

今天早上我遇到了同样的问题.得到相同的错误,像缩放控件这样的控件不会渲染.我将prototype.js从版本(1.7)升级到最新版本(1.7.2),然后又重新开始了.我使用谷歌地图api V3,生产版本.不知道是不是更新版本的prototype.js,或者谷歌改变了什么,然后修改了一些东西,但现在很高兴.