A long-lived project that still receives updates
Geocode a location without worrying about parsing Google Maps' response. GoogleMapsGeocoder wraps it in a plain-old Ruby object.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 2.1.4, < 3.2.0
 Project Readme

GoogleMapsGeocoder

Build status Code Climate Coverage Status OpenSSF Best Practices OpenSSF Scorecard Gem Version

A simple Plain Old Ruby Object wrapper for geocoding with Google Maps, GoogleMapsGeocoder gives you all its geocoding functionality with these advantages:

Installation

  1. Set your Google Maps API key, which Google now requires, as an environment variable:

    export GOOGLE_MAPS_API_KEY=[your key]
  2. Add GoogleMapsGeocoder to your Gemfile and run bundle:

    gem 'google_maps_geocoder'

    Or try it out in irb with:

    require 'google_maps_geocoder'

Security note

GoogleMapsGeocoder is cryptographically signed. To insure the gem you install hasn’t been tampered with, add my public key as a trusted certificate and then install:

gem cert --add <(curl -Ls https://raw.github.com/FoveaCentral/google_maps_geocoder/master/certs/ivanoblomov.pem)
gem install google_maps_geocoder -P HighSecurity

Ready to Go in One Step

chez_barack = GoogleMapsGeocoder.new 'White House'

Usage

Get the complete, formatted address:

chez_barack.formatted_address
 => "1600 Pennsylvania Avenue Northwest, President's Park, Washington, DC 20500, USA"

...standardized name of the city:

chez_barack.city
 => "Washington"

...full name of the state or region:

chez_barack.state_long_name
 => "District of Columbia"

...standard abbreviation for the state/region:

chez_barack.state_short_name
 => "DC"

API

The complete, hopefully self-explanatory, API is:

  • GoogleMapsGeocoder#city
  • GoogleMapsGeocoder#country_long_name
  • GoogleMapsGeocoder#country_short_name
  • GoogleMapsGeocoder#county
  • GoogleMapsGeocoder#exact_match?
  • GoogleMapsGeocoder#formatted_address
  • GoogleMapsGeocoder#formatted_street_address
  • GoogleMapsGeocoder#lat
  • GoogleMapsGeocoder#lng
  • GoogleMapsGeocoder#partial_match?
  • GoogleMapsGeocoder#postal_code
  • GoogleMapsGeocoder#state_long_name
  • GoogleMapsGeocoder#state_short_name

For compatibility with Geocoder, the following aliases are also available:

  • GoogleMapsGeocoder#address
  • GoogleMapsGeocoder#coordinates
  • GoogleMapsGeocoder#country
  • GoogleMapsGeocoder#country_code
  • GoogleMapsGeocoder#latitude
  • GoogleMapsGeocoder#longitude
  • GoogleMapsGeocoder#state
  • GoogleMapsGeocoder#state_code

Documentation

Complete RDoc documentation is available at RubyDoc.info.

Copyright

Copyright © 2011-2024 Roderick Monje. See LICENSE.txt for further details.