From 447aa2555980f4982293ce0d3ad9c496eba3cf9c Mon Sep 17 00:00:00 2001 From: Tiago Teixeira <tiagocmtex@gmail.com> Date: Mon, 12 Nov 2018 16:50:19 +0100 Subject: [PATCH] Allow to pass language parameter for bing and here lookups --- README_API_GUIDE.md | 2 +- lib/geocoder/lookups/bing.rb | 3 ++- lib/geocoder/lookups/here.rb | 13 +++++++------ test/unit/lookup_test.rb | 2 ++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README_API_GUIDE.md b/README_API_GUIDE.md index 773491b3..b19fd680 100644 --- a/README_API_GUIDE.md +++ b/README_API_GUIDE.md @@ -63,7 +63,7 @@ The [Google Places Search API](https://developers.google.com/places/web-service/ * **Quota**: 50,0000 requests/day (Windows app), 125,000 requests/year (non-Windows app) * **Region**: world * **SSL support**: no -* **Languages**: ? +* **Languages**: The preferred language of address elements in the result. Language code must be provided according to RFC 4647 standard. * **Documentation**: http://msdn.microsoft.com/en-us/library/ff701715.aspx * **Terms of Service**: http://www.microsoft.com/maps/product/terms.html * **Limitations**: No country codes or state names. Must be used on "public-facing, non-password protected web sites," "in conjunction with Bing Maps or an application that integrates Bing Maps." diff --git a/lib/geocoder/lookups/bing.rb b/lib/geocoder/lookups/bing.rb index 53894c2f..c2d0edcf 100644 --- a/lib/geocoder/lookups/bing.rb +++ b/lib/geocoder/lookups/bing.rb @@ -53,7 +53,8 @@ module Geocoder::Lookup def query_url_params(query) { - key: configuration.api_key + key: configuration.api_key, + language: (query.language || configuration.language) }.merge(super) end diff --git a/lib/geocoder/lookups/here.rb b/lib/geocoder/lookups/here.rb index f99eaee8..420c6e34 100644 --- a/lib/geocoder/lookups/here.rb +++ b/lib/geocoder/lookups/here.rb @@ -30,19 +30,20 @@ module Geocoder::Lookup def query_url_params(query) options = { - :gen=>4, - :app_id=>api_key, - :app_code=>api_code + gen: 4, + app_id: api_key, + app_code: api_code, + language: (query.language || configuration.language) } if query.reverse_geocode? super.merge(options).merge( - :prox=>query.sanitized_text, - :mode=>:retrieveAddresses + prox: query.sanitized_text, + mode: :retrieveAddresses ) else super.merge(options).merge( - :searchtext=>query.sanitized_text + searchtext: query.sanitized_text ) end end diff --git a/test/unit/lookup_test.rb b/test/unit/lookup_test.rb index e98f883c..d2ba813a 100644 --- a/test/unit/lookup_test.rb +++ b/test/unit/lookup_test.rb @@ -56,8 +56,10 @@ class LookupTest < GeocoderTestCase end { + :bing => :language, :google => :language, :google_premier => :language, + :here => :language, :nominatim => :"accept-language", :yandex => :plng }.each do |l,p| -- GitLab