google-directions-ruby
google-directions-ruby copied to clipboard
Ruby-wrapper for Google Directions API. Can return the drive time and driving distance between two places.
h2. Usage
directions = GoogleDirections.new(origin, destination)
where origin and destination are strings of addresses or places that Google can find an address for. Example: "816 Meridian St., 37207"
Get drive time or distance of whole trip
drive_time_in_minutes = directions.drive_time_in_minutes distance_in_miles = directions.distance_in_miles
Get the XML Google returns with every turn, or the API call URL
xml = directions.xml xml_call = directions.xml_call
h3. Error situations
status: NOT_FOUND
If Google can't recognize your places, the distance_in_miles and drive_time_in_minutes will each return 0. You can call
directions.statusand it should return "NOT_FOUND" (directions.status will also return any other Google API call statuses)
status: OVER_QUERY_LIMIT
If Google thinks you've hit their API too many times in day, or too rapidly, for your given IP address and API key; they might return OVER_QUERY_LIMIT. In this case distance_in_miles and drive_time_in_minutes will each return 0. You can call
directions.statusand it should return "OVER_QUERY_LIMIT"
h2. Installation
h3. gem
rails 3.0/4.0
gem 'google_directions' in your Gemfile
bundle install
from command line
h3. Compatibility
Tested on Rails 2.3.8 Tested on Rails 4.0.1
h3. Google maps API key
You'll need a Google Map API key
http://code.google.com/apis/maps/signup.html
Include it as the constant GOOGLE_MAPS_API_KEY in an app configuration file (environment.rb, config/initializers/api_keys.rb)
h3. Need turn-by-turn directions?
Not yet included in this gem, but you can do it with nokogiri to parse the XML that comes back when you do
GoogleDirections.new(origin, destination).xml
And then nokogiri can cycle through each
h2. License
Anyone can use this code in any way.