1

J'utilise actuellement Rails 3.0.9 et gmaps4rails 0.8.6.Rails, gmaps4rails ne fonctionnent pas avec https

J'ai un problème avec l'activation de https pour google maps.

J'ai essayé d'utiliser cette sollution:

Using gmaps4rails with https/SSL

Mais sans succès.

En application de mise en page I ajouté ce js inclure des balises:

<%= javascript_include_tag "https://maps.google.com/maps/api/js?sensor=false&libraries=geometry" %> 
<%= javascript_include_tag "https://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.5/src/infobox.js" %> 
<%= javascript_include_tag "gmaps4rails.js" %> 
<%= javascript_include_tag "https://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/src/markerclusterer_compiled.js" %> 

Mon code contrôleur

... 
@places = Place.paginate(:page => params[:page], :per_page => 10) 
@json = @places.to_gmaps4rails 

Voir

... 
<div id="mapLocal"> <%= gmaps4rails(@json, true false) %> </div> 
... 

Après que google maps encore du travail avec http.

code source Page

function gmaps4rails_loadScript() { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src = "http://maps.google.com/maps/api/js?sensor=false&libraries=geometry&callback=gmaps4rails_init"; 
    document.body.appendChild(script); 
} 

J'ai essayé de changer gmaps4rails à gmaps.

Résultat:

Completed 500 Internal Server Error in 54ms 


ActionView::Template::Error (undefined method `to_gmaps4rails' for #<String:0xf5d98528>): 
    13: <script type="text/javascript" charset="utf-8"> 
    14: function gmaps4rails_init() { 
    15:  <% #true is passed here to trigger map initialization %> 
    16:  <%=raw options.to_gmaps4rails(true) %> 
    17: } 
    18: 
    19: function gmaps4rails_loadScript() { 
    app/views/places/index.html.erb:4:in `_app_views_places_index_html_erb___671263203__86055108_0' 

donc j'ai décidé de gem mettre à jour (peut-être l'ancienne version ne supporte pas ssl?).

Après la mise à niveau de 0.8.6 à 1.1.4 La carte est même pas généré avec mon base, le code inchangé

<div id="mapLocal"> <%= gmaps4rails(@json) %> </div> 

J'ai vérifié js journaux avec Firebug et il retourne

Gmaps4RailsGoogle is not defined 
Gmaps.map = new Gmaps4RailsGoogle(); 

Répondre

3

Vous devrait mettre à niveau vers la dernière version de la gemme: Gmaps4RailsGoogle n'existait pas dans 0.xx

En utilisant 1.xx, vous aurez besoin d'exiger un fichier supplémentaire:

gmaps4rails.googlemaps.js 

Et 'gmaps4rails.js' est maintenant '' gmaps4rails.base.js

Utilisation du programme d'installation, Je ferai tout copier.

Lorsque vous utilisez l'assistant de gmaps, vous devez fournir un hachage comme premier argument:

gmaps(:markers => { :data => @json }) 

Quelques changements nécessaires lors du codage 1.0.0, provoquent maintenant plusieurs cartes peuvent être créées sur la même page. Quoi qu'il en soit, tout le doc est dans le wiki. Je suppose que toutes ces indications répondent à vos besoins.

+0

Merci, maintenant les marqueurs fonctionnent. Cette ligne '<% = gmaps ({" marqueurs "=> {" data "=> @json}}, true, false)%>' fait que google maps fonctionne à merveille. :RÉ –

Questions connexes