README.md in geocoder-1.2.9 vs README.md in geocoder-1.2.10
- old
+ new
@@ -379,24 +379,31 @@
### Street Address Services
The following is a comparison of the supported geocoding APIs. The "Limitations" listed for each are a very brief and incomplete summary of some special limitations beyond basic data source attribution. Please read the official Terms of Service for a service before using it.
-#### Google (`:google`, `:google_premier`)
+#### Google (`:google`)
-* **API key**: required for Premier, optional for the free service (if using the free service with API key, https is required. Add `:use_https => true` to `Geocoder.configure`)
-* **Key signup**: https://developers.google.com/maps/documentation/business/
-* **Quota**: 2,500 requests/day, 100,000 with Google Maps API Premier
+* **API key**: optional, but quota is higher if key is used (use of key requires HTTPS so be sure to set: `:use_https => true` in `Geocoder.configure`)
+* **Key signup**: https://console.developers.google.com//flows/enableapi?apiid=geocoding_backend&keyType=SERVER_SIDE
+* **Quota**: 2,500 requests/24 hrs, 5 requests/second
* **Region**: world
-* **SSL support**: yes
-* **Languages**: ar, eu, bg, bn, ca, cs, da, de, el, en, en-AU, en-GB, es, eu, fa, fi, fil, fr, gl, gu, hi, hr, hu, id, it, iw, ja, kn, ko, lt, lv, ml, mr, nl, no, pl, pt, pt-BR, pt-PT, ro, ru, sk, sl, sr, sv, tl, ta, te, th, tr, uk, vi, zh-CN, zh-TW (see http://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1)
+* **SSL support**: yes (required if key is used)
+* **Languages**: see https://developers.google.com/maps/faq#languagesupport
* **Extra options**: `:bounds` - pass SW and NE coordinates as an array of two arrays to bias results towards a viewport
-* **Documentation**: http://code.google.com/apis/maps/documentation/geocoding/#JSON
+* **Documentation**: https://developers.google.com/maps/documentation/geocoding/intro
* **Terms of Service**: http://code.google.com/apis/maps/terms.html#section_10_12
* **Limitations**: "You must not use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps APIs Documentation, or through written permission from Google." "You must not pre-fetch, cache, or store any Content, except that you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation..."
-* **Notes**: To use Google Premier set `Geocoder.configure(:lookup => :google_premier, :api_key => [key, client, channel])`.
+#### Google Maps API for Work (`:google_premier`)
+
+Similar to `:google`, with the following differences:
+
+* **API key**: required, plus client and channel (set `Geocoder.configure(:lookup => :google_premier, :api_key => [key, client, channel])`)
+* **Key signup**: https://developers.google.com/maps/documentation/business/
+* **Quota**: 100,000 requests/24 hrs, 10 requests/second
+
#### Google Places Details (`:google_places_details`)
The [Google Places Details API](https://developers.google.com/places/documentation/details) is not, strictly speaking, a geocoding service. It accepts a Google `place_id` and returns address information, ratings and reviews. A `place_id` can be obtained from the Google Places Autocomplete API and should be passed to Geocoder as the first search argument: `Geocoder.search("ChIJhRwB-yFawokR5Phil-QQ3zM", :lookup => :google_places_details)`.
* **API key**: required
@@ -440,29 +447,29 @@
* **Region**: world
* **SSL support**: no
* **Languages**: ?
* **Documentation**: http://wiki.openstreetmap.org/wiki/Nominatim
* **Terms of Service**: http://wiki.openstreetmap.org/wiki/Nominatim_usage_policy
-* **Limitations**: Please limit request rate to 1 per second and include your contact information in User-Agent headers (eg: `Geocoder.configure(:http_headers => { "User-Agent" => "your contact info" })`). Data licensed under CC-BY-SA (you must provide attribution).
+* **Limitations**: Please limit request rate to 1 per second and include your contact information in User-Agent headers (eg: `Geocoder.configure(:http_headers => { "User-Agent" => "your contact info" })`). [Data licensed under Open Database License (ODbL) (you must provide attribution).](http://www.openstreetmap.org/copyright)
#### OpenCageData (`:opencagedata`)
* **API key**: required
* **Key signup**: http://geocoder.opencagedata.com
* **Quota**: 2500 requests / day, then ability to purchase more (free during beta)
* **Region**: world
* **SSL support**: yes
* **Languages**: worldwide
* **Documentation**: http://geocoder.opencagedata.com/api.html
-* **Limitations**: Data licensed under CC-BY-SA or (you must provide attribution).
+* **Limitations**: [Data licensed under Open Database License (ODbL) (you must provide attribution).](http://www.openstreetmap.org/copyright)
#### Yandex (`:yandex`)
* **API key**: none
* **Quota**: 25000 requests / day
* **Region**: world
-* **SSL support**: no
+* **SSL support**: HTTPS only
* **Languages**: Russian, Belarusian, Ukrainian, English, Turkish (only for maps of Turkey)
* **Documentation**: http://api.yandex.com.tr/maps/doc/intro/concepts/intro.xml
* **Terms of Service**: http://api.yandex.com.tr/maps/doc/intro/concepts/intro.xml#rules
* **Limitations**: ?
@@ -565,16 +572,16 @@
* **Notes**: To use Baidu set `Geocoder.configure(:lookup => :baidu, :api_key => "your_api_key")`.
#### Geocodio (`:geocodio`)
* **API key**: required
-* **Quota**: 2,500 free requests/day then purchase $.001 for each
+* **Quota**: 2,500 free requests/day then purchase $.001 for each, also has volume pricing and plans
* **Region**: US
-* **SSL support**: no
+* **SSL support**: yes
* **Languages**: en
* **Documentation**: http://geocod.io/docs
* **Terms of Service**: http://geocod.io/terms-of-use
-* **Limitations**: ?
+* **Limitations**: No restrictions on use
#### SmartyStreets (`:smarty_streets`)
* **API key**: requires auth_id and auth_token (set `Geocoder.configure(:api_key => [id, token])`)
* **Quota**: 10,000 free, 250/month then purchase at sliding scale.