Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails How to get latitude and longitude from string address and put it on google map?

Here's user story:

User enters address: Paris, France. Then I would like to display google map center on Paris with one movable marker. Then user point with marker to its exact location and clicks save. Address string and map coordinates are saved to database.

After some search I know I can display google map with variuos gems: cartographer for example. My question is how to get coordinates or how to pass address to cartographer so it centers map in Paris?

like image 377
Adrian Serafin Avatar asked Feb 03 '11 17:02

Adrian Serafin


3 Answers

I agree, geokit is pretty useful...you can do things like:

require 'geokit'
include GeoKit::Geocoders

coords = MultiGeocoder.geocode(location)
puts coords.lat
puts coords.lng

Where location is a string location (like an address). It works pretty well.

You can ALSO reverse geocode, which pulls a string address out of a lat/lng coordinate pair. Pretty spiffy.

like image 52
J.R. Avatar answered Oct 30 '22 03:10

J.R.


Another geocoder option for Ruby is Geocoder: https://github.com/alexreisner/geocoder

  location = Geocoder.search( ... )
  location[0].latitude
  location[0].longitude
like image 29
vfilby Avatar answered Oct 30 '22 02:10

vfilby


I suggest the gem and plugin geokit. It does exactly what you are looking for and more.

like image 24
sethvargo Avatar answered Oct 30 '22 02:10

sethvargo