Skip to content
Snippets Groups Projects
Select Git revision
  • eed78751a1d6816cca09a36ec63465cfc1de5e73
  • master default protected
  • rails-geocoder
  • rails2
  • v1.5.1
  • v1.5.0
  • v1.4.9
  • v1.4.8
  • v1.4.7
  • v1.4.6
  • v1.4.5
  • remove
  • v1.4.4
  • v1.4.3
  • v1.4.2
  • v1.4.1
  • v1.4.0
  • v1.3.7
  • v1.3.6
  • v1.3.5
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
24 results

README.md

Blame
  • user avatar
    Rhonda Glennon authored and Alex Reisner committed
    * Update Mapzen and Pelias links
    
    * add monthly free limits
    d7cbe830
    History
    README.md 61.28 KiB

    Geocoder

    Geocoder is a complete geocoding solution for Ruby. With Rails, it adds geocoding (by street or IP address), reverse geocoding (finding street address based on given coordinates), and distance queries. It's as simple as calling geocode on your objects, and then using a scope like Venue.near("Billings, MT").

    Please note that this README is for the current HEAD and may document features not present in the latest gem release. For this reason, you may want to instead view the README for your particular version.

    Compatibility

    • Supports multiple Ruby versions: Ruby 1.9.3, 2.x, and JRuby.
    • Supports multiple databases: MySQL, PostgreSQL, SQLite, and MongoDB (1.7.0 and higher).
    • Supports Rails 3, 4, and 5. If you need to use it with Rails 2 please see the rails2 branch (no longer maintained, limited feature set).
    • Works very well outside of Rails, you just need to install either the json (for MRI) or json_pure (for JRuby) gem.

    Note on Rails 4.1 and Greater

    Due to a change in ActiveRecord's count method you will need to use count(:all) to explicitly count all columns ("*") when using a near scope. Using near and calling count with no argument will cause exceptions in many cases.

    Installation

    Install Geocoder like any other Ruby gem:

    gem install geocoder

    Or, if you're using Rails/Bundler, add this to your Gemfile:

    gem 'geocoder'

    and run at the command prompt:

    bundle install

    Object Geocoding

    ActiveRecord

    Your model must have two attributes (database columns) for storing latitude and longitude coordinates. By default they should be called latitude and longitude but this can be changed (see "Model Configuration" below):

    rails generate migration AddLatitudeAndLongitudeToModel latitude:float longitude:float
    rake db:migrate

    For geocoding, your model must provide a method that returns an address. This can be a single attribute, but it can also be a method that returns a string assembled from different attributes (eg: city, state, and country).

    Next, your model must tell Geocoder which method returns your object's geocodable address: