Skip to content

RainerBlessing/google-directions-ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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_meters = directions.distance
distance_in_miles = directions.distance_in_miles
distance_in_km = directions.distance_in_km

Get the XML Google returns with every turn, or the API call URL


xml = directions.xml
xml_call = directions.xml_call

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.status
and 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.status
and it should return “OVER_QUERY_LIMIT”

status: ZERO_RESULTS

No route could be calculated between the two points.

Installation

gem

rails 2.3

  1. gem install google_directions
  2. add config.gem “google_directions” to your environment.rb file

rails 3.0

  1. gem ‘google_directions’ in your Gemfile
  2. bundle install
    from command line

Rails plugin

Rails 2.3

script/plugin install git://github.com/joshcrews/google-directions-ruby.git

Rails 3.0

rails plugin install git://github.com/joshcrews/google-directions-ruby.git

Compatibility

Tested on Rails 2.3.8

Not yet tested on Rails 3. It probably is Rails 3 compatible, because it’s just a single class with a few methods. It’s probably compatible with every ruby project ever.

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 and you can pick out what you need.

License

Anyone can use this code in any way.

About

Ruby-wrapper for Google Directions API. Can return the drive time and driving distance between two places.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%