Pregunta

Estoy usando la increíble gema gmaps4rails en un proyecto Rails.Funciona bien en mi máquina local, pero una vez implementado en la pila Cedar de Heroku, JavaScript arroja un error. window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); }; , quejándose de que triggerOldOnload no existe en Gmaps.Nuevamente, funciona bien a nivel local.

Aquí está el bloque de script completo en el que aparece el error:

<SCRIPT type="text/javascript" charset="utf-8">
Gmaps.map = new Gmaps4RailsGoogle();
Gmaps.load_map = function() {
Gmaps.map.map_options.auto_adjust = true;
Gmaps.map.initialize();
Gmaps.map.markers = [{"title":"Project 1","lat":18.71381,"lng":-72.35581},    {"title":"Project 2","lat":18.71567,"lng":-72.35603}];
Gmaps.map.markers_conf.do_clustering = true;
Gmaps.map.create_markers();
Gmaps.map.adjustMapToBounds();
Gmaps.map.callback();
};
Gmaps.oldOnload = window.onload;
 window.onload = function() { Gmaps.triggerOldOnload(); Gmaps.loadMaps(); };
</SCRIPT>

¡Gracias de antemano por revisar esto!

¿Fue útil?

Solución

Supongo que actualizaste la gema pero no volviste a ejecutar el comando para copiar los recursos en tu aplicación.

Otros consejos

Tuve un problema similar después de actualizar gmaps4rails.

El problema fueron los cambios en los nombres de los archivos y la estructura de los archivos js generados.

En aplicación.js

Ahora hay gmaps4rails.base.js que debe incluirse en los activos incluidos.Aquí es donde está el método que no se puede encontrar.

//= require gmaps4rails/gmaps4rails.base.js

también

//= require gmaps4rails/googlemaps.js

es ahora

//= require gmaps4rails/gmaps4rails.googlemaps.js

Su kilometraje puede variar: no sé qué versión de Rails o GMaps4Rails está usando, pero cuando me encontré con este problema con Rails 3.2.16/Gmaps4Rails v2 (confirme 52d7161409a060ddeabc87aa3c10049adc5edd4d, según las instrucciones aquí, en la sección Agregar mapa Javascript:

<script src="//maps.google.com/maps/api/js?v=3.13&sensor=false&libraries=geometry" type="text/javascript"></script>
<script src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" type="text/javascript"></script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top