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.