Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Maps and Richfaces 3.3.3 (prototype.js 1.6.0.3) possible incompatibility

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.

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

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>

js console in chrome browser logs this:

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

And the user controls dissapear...

Somebody knows how to solve this problem??

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

Thanks in advance!

--- UPDATE ---

  • Using production version of Google Maps solves the problem. Now is necessary explicitly put v=3 in src in script tag. Thanks Dr.Molle.
  • Updating prototypejs to (1.7.2). Works fine with experimental too. Thanks @eepete.

--- UPDATE 2 ---

  • Using v=3 isn't working anymore with richfaces 3.3.3 (prototype-1.6.0.3.js) if you need to use this old version of prototype, now you need to explicitly use v=3.17 in google maps.

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>
like image 805
fonkap Avatar asked Dec 20 '22 11:12

fonkap


1 Answers

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.

like image 65
eepete Avatar answered Feb 02 '23 01:02

eepete