Google Maps 和 Richfaces 3.3.3 (prototype.js 1.6.0.3) 可能不兼容 [英] Google Maps and Richfaces 3.3.3 (prototype.js 1.6.0.3) possible incompatibility

查看:20
本文介绍了Google Maps 和 Richfaces 3.3.3 (prototype.js 1.6.0.3) 可能不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个基于 RichFaces 3.3.3 的网络应用程序,它使用 Google 地图 (maps-api v3),直到最近才运行良好.

I have a web application based on RichFaces 3.3.3 that uses Google Maps (maps-api v3), that was working fine until recently.

最近无法绘制地图的用户控件.地图绘制得很好,但没有出现控件,例如地图类型或缩放控件.

Lately is failing to draw the map's user controls. Map is drawn fine but the controls don't appear, map type or zoom control, for example.

查了一下,好像是prototype.js的兼容性问题.

Investigating a little, it seems a compatibility problem with prototype.js.

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

If you simply add this line to the example in developers.google.com:

<script src="http://prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js"></script>

chrome 浏览器中的 js 控制台记录了这个:

js console in chrome browser logs this:

Uncaught TypeError: undefined is not a function       prototype-1.6.0.3.js:641

用户控件消失...

有人知道怎么解决这个问题吗??

Somebody knows how to solve this problem??

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

Now I'm going to try to change prototype.js in richfaces for a more modern version... I'll update when I know more.

提前致谢!

--- 更新---

  • 使用 Google 地图的生产版本解决了这个问题.现在有必要在脚本标签的 src 中明确地放置 v=3.谢谢莫尔博士.
  • 将prototypejs 更新到(1.7.2).也适用于实验性.谢谢@eepete.

--- 更新 2 ---

--- UPDATE 2 ---

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

换句话说,为了与prototype-1.6.0.3.js的backguards兼容,在你的页面中使用它:

In other words, use this in your page for backguards compatibility with prototype-1.6.0.3.js:

<script src="https://maps.googleapis.com/maps/api/js?v=3.17"></script>

推荐答案

今天早上我遇到了同样的问题.得到同样的错误,像缩放控件这样的控件不会呈现.我将我的prototype.js 从版本(1.7) 升级到最新版本(1.7.2),一切又恢复了.我正在使用 google maps api V3,生产版本.不知道是不是新版本的prototype.js 或者是谷歌修改了一些东西然后修复了一些东西,但现在很高兴.

I had the same problem this morning. Got the same error, controls like the zoom control would not render. I upgraded my prototype.js to the latest version (1.7.2) from version (1.7) and things worked again. Am using google maps api V3, the production version. Don't know if it was the newer version prototype.js or if Google changed something and then fixed something, but it's happy now.

这篇关于Google Maps 和 Richfaces 3.3.3 (prototype.js 1.6.0.3) 可能不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆