Pregunta

Rais 4.0.4
gem geocoder =>(1.1.9)
gem gmaps4rails =>(2.1.1)
db table
:latitude, :float
:longitude, :float

Hi! each time I'm saving 'latitude' and 'longitude' property into the db the data saved is slightly or completely different. ex:

example for : 13 Rue Jules-Verne, Montreal, QC: latitude:45.507147 longitude:-75.63314

https://maps.google.ca/maps?q=13+Rue+Jules-Verne,+Montreal,+QC&hl=en&sll=45.507147,-75.63314&sspn=0.007925,0.019741&oq=13,+rue+Jules-Verne+mo&hnear=13+Rue+Jules-Verne,+Montreal,+Quebec+H2R&t=m&z=16

on submit:

Started PATCH "/reuniones/493" for 127.0.0.1 at 2014-04-07 14:18:38 -0400
Processing by ReunionesController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"v48VTm37AIo5VuJeBVqVPmSDV51gWBYO5M5EtnDVc+c=", "reunione"=>{"name"=>"CENTRAL HISPANO", "day"=>"domingo", "start_time(1i)"=>"2000", "start_time(2i)"=>"1", "start_time(3i)"=>"1", "start_time(4i)"=>"19", "start_time(5i)"=>"00", "address"=>"13, rue Jules-Verne", "suburb"=>"Montréal, QC ", "city"=>"Montréal", "postal_code"=>"H2R 1W8", "metro"=>"Métro De Castelnau", "public"=>"1", "district"=>"District 32", "genre"=>"Conferenciante", "latitude"=>"45.50714", "longitude"=>"-75.63314"}, "commit"=>"Submit", "id"=>"493"}
  Reunione Load (0.4ms)  SELECT "reuniones".* FROM "reuniones" WHERE "reuniones"."id" = $1 ORDER BY reuniones.day LIMIT 1  [["id", "493"]]
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 2 ORDER BY "users"."id" ASC LIMIT 1
   (0.1ms)  BEGIN
   (0.1ms)  COMMIT
Redirected to http://0.0.0.0:3000/reuniones/493
Completed 302 Found in 358ms (ActiveRecord: 1.0ms)

On retrieve:

Reunione.find 493
<Reunione id: 493, [...other field ... ] latitude: 47.3515171, longitude: -2.181469> 
¿Fue útil?

Solución

Perhaps the lat long values that you use are different from the address you are submitting. Geocoders take an address and convert it to a lat long, which may overwrite the lat long you are sumbitting

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top