2012-04-09 3 views
0

I Geocoder Setup und installiert und Funktionen ausführen können wieRails Geocoder angezeigte Benutzer Lat Long für Entfernung zum Verwenden

<%= Geocoder::Calculations.distance_between([47.858205,2.294359], [@company.latitude,@company.longitude]) %> 

Welche Entfernung zum Unternehmen gibt. Ich möchte jedoch die Geolocation-Daten verwenden, um die "47.858205, 2,294359" durch ihre tatsächlichen Koordinaten aus ihrem mobilen Browser ersetzen zu können.

Ich verwende derzeit Google Geolocation Javascript HTML5, um den Standort des Benutzers anzufordern. http://code.google.com/p/geo-location-javascript/source/browse/trunk/js/geo.js?r=74

Wie kann ich diese lat und in meinen Ansichten anzeigen? Ich möchte, dass es in etwa so aussieht

Antwort

0

Ich würde nur den Geocoder Edelstein verwenden, um auf der Serverseite geolocate. Das Geocoder-Juwel fügt dem request-Objekt, das in Controller-Aktionen verfügbar ist, eine Positionsmethode hinzu. Also in Ihrer Controller-Aktion könnten Sie tun:

@lat = request.location.latitude 
@long = request.location.longitude 

Und dann verwenden Sie diese Werte in der Ansicht Code, den Sie dort haben.

Geocodierer verwendet die IP-Adresse der Anfrage zum Geolocate. Ich bin mir nicht sicher, ob dies weniger genau ist als die Verwendung von Geolocation über den Browser (der auch die IP-Adresse verwenden kann, ich weiß nicht, wie die Implementierung dafür funktioniert).

+0

Dank Jeff, ich bin immer noch auf localhost ausgeführt, aber ich bin mir sicher, es funktioniert auf dem Server, Prost. –