1

Ich benutze Gmaps4rails. Es funktioniert wirklich gut. Aber jetzt habe ich ein Problem beim Versuch, meinen Benutzer über den Browser zu geolocate.Problem mit gmaps4rails für Benutzer Geolocation über Browser

Meine Ansicht:

<%= gmaps(:markers => { :data => @json}, 
     :map_options => { :container_class => "map_container",:id => "map",:class => "gmaps4rails_map"}, 
     :scripts  => :none) %> 

     <% content_for :scripts do %> 
     <script type="text/javascript"> 
     Gmaps.map.callback = function() { 
      setInterval(function(){Gmaps.map.createMarker({ 
         Lat: Gmaps.map.userLocation.lat(), 
         Lng: Gmaps.map.userLocation.lng(), 
         rich_marker: null, 
         marker_picture: "/images/icon.png", 
         })},10000) 
      } 


     </script> 
     <% end %> 

habe ich versucht, eine setInterval Methode für die Verzögerung Browser Geolocation als

Kaffee Skript

mein gmaps in How do I display the user's location with a marker in gmaps4rails? diskutiert
detect_location: true # should the browser attempt to use geolocation detection features of HTML5? 
    center_on_user: true # centers map on the location detected through the browser 

ich in meinem Google diesen Fehler bekam Chrom-Konsole.

Uncaught Typeerror: kann nicht lesen Eigenschaft '0' undefinierten Gmaps4Rails.Gmaps4Rails.createImageAnchorPositiongmaps4rails.base.js: 377 Gmaps4RailsGoogle.Gmaps4RailsGoogle.createMarkergmaps4rails.googlemaps.js: 127 (anonyme Funktion)

Was ist Ich vermisse ?? Dank

Stephane

Antwort

0

sollten Sie tun:

setInterval(function(){ 
Gmaps.map.createMarker({ 
    Lat: Gmaps.map.userLocation.lat(), 
    Lng: Gmaps.map.userLocation.lng(), 
    rich_marker: null, 
    marker_picture: "https://a248.e.akamai.net/assets.github.com/images/modules/about_page/octocat.png?1315937507", 
    marker_width: 80, 
    marker_height: 80, 
    marker_anchor: null, 
    shadow_anchor: null, 
    shadow_picture: null, 
    shadow_width: null, 
    shadow_height: null 
    })},10000) 

Ausführlich aber sollte nicht direkt verwendet werden :)

BTW, es ist keine gute Umsetzung:

was wenn der Benutzer mehr Zeit braucht, um eine Geolokalisierung zu akzeptieren (oder einfach ablehnt)?

+0

yep.The Trick! Sie richtig, es ist keine LT-Implementierung. Ich wollte nur meine Geolocation erscheinen lassen. Danke für dieses gute Gmaps4rails-Juwel. Wirklich hilfreich – Stephane

+0

Das dauert eine Weile, bis es angezeigt wird, gibt es etwas, das schneller erscheint? – locoboy

+0

@locoboy Ja, siehe hier: https://github.com/apneadiving/Google-Maps-for-Rails/blob/1.x/app/assets/javascripts/gmaps4rails/gmaps4rails.base.js.coffee#L99 ' . Definieren Sie einfach 'Gmaps.map.geolocationSuccess', wie Sie' Gmaps.map.callback' definieren – apneadiving