https://github.com/ctlong/address_geocoder
Calls and parses Google Geocoding API for address validation and geocoding
https://github.com/ctlong/address_geocoder
Last synced: about 1 year ago
JSON representation
Calls and parses Google Geocoding API for address validation and geocoding
- Host: GitHub
- URL: https://github.com/ctlong/address_geocoder
- Owner: ctlong
- License: mit
- Created: 2016-01-09T04:13:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-08-03T23:51:57.000Z (almost 10 years ago)
- Last Synced: 2025-04-12T23:42:23.211Z (about 1 year ago)
- Language: Ruby
- Homepage: https://rubygems.org/gems/address_geocoder
- Size: 130 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
= AddressGeocoder
{
}[https://codeclimate.com/github/ctlong/address_geocoder]
{
}[https://travis-ci.org/ctlong/address_geocoder.svg?branch=master]
{
}[https://badge.fury.io/rb/address_geocoder]
AddressGeocoder is a Ruby interface to certain Maps APIs that allow you to validate and geocode addresses.
Some APIs may require certain credentials to access.
== Getting started
AddressGeocoder was written and tested on Rails >= 4.2.5. You can install it by adding in to your Gemfile with:
gem 'address_geocoder'
Run the bundle command to install it.
== Basic usage
Require the library:
require 'address_geocoder'
Create a client:
client = MapsApi::Google::Client.new
You can set some or all of the address information when or after creating the client (country names are {ISO 3166-1 Alpha-2}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] codes):
client = MapsApi::Google::Client.new(
country: 'Your country',
state: 'Your state',
city: 'Your city',
postal_code: 'Your postal code',
street: 'Your street',
language: 'The language to return your response in',
api_key: 'Your api key for an API'
)
client.street = 'A different street'
Validating an address:
client.valid_address? # returns true or false
Finding suggested addresses:
client.suggested_addresses # returns a list of addresses that most closely match your inputted addresss
Additional methods:
client.response # returns the marketplace's actual response
client.address # returns the current user inputted address
client.former_address # returns the last address that was used in a call, nil if no call has been made.
== The APIs
=== Google
Currently the only API we have integrated. All validations are done using {Google's Geocoding API}[https://developers.google.com/maps/documentation/geocoding/intro]. Although an {API key}[https://developers.google.com/maps/documentation/geocoding/get-api-key] is not required, it is recommended to track usage and upgrade your call limit if required. Google provides a maximum of 2,000 free calls per day to either your IP address or API key.
== How it works
AddressGeocoder sends addresses in varying formats to the Maps API of your choice. A positive response indicates that the address is valid. After a positive response the gem can parse returned elements to suggest a formatted address.
== Development and tests
We are open to suggestions and improvements. Just don't forget to write tests before the pull request.
== Bug reporting
If you discover a problem with our gem, please let us know about it: {ctlong/address_geocoder/issues}[https://github.com/ctlong/address_geocoder/issues]