diff --git a/lib/geocoder/lookups/esri.rb b/lib/geocoder/lookups/esri.rb index 6f6cf0eb8..e80ba5437 100644 --- a/lib/geocoder/lookups/esri.rb +++ b/lib/geocoder/lookups/esri.rb @@ -47,6 +47,8 @@ def query_url_params(query) params[:forStorage] = for_storage_value end params[:sourceCountry] = configuration[:source_country] if configuration[:source_country] + params[:preferredLabelValues] = configuration[:preferred_label_values] if configuration[:preferred_label_values] + params.merge(super) end diff --git a/test/unit/lookups/esri_test.rb b/test/unit/lookups/esri_test.rb index 4329276d4..7d76457d2 100644 --- a/test/unit/lookups/esri_test.rb +++ b/test/unit/lookups/esri_test.rb @@ -24,6 +24,14 @@ def test_query_for_geocode_with_source_country assert_match %r{sourceCountry=USA}, url end + def test_query_for_geocode_with_preferred_label_values + Geocoder.configure(esri: {preferred_label_values: 'localCity'}) + query = Geocoder::Query.new("Bluffton, SC") + lookup = Geocoder::Lookup.get(:esri) + url = lookup.query_url(query) + assert_match %r{preferredLabelValues=localCity}, url + end + def test_query_for_geocode_with_token_and_for_storage token = Geocoder::EsriToken.new('xxxxx', Time.now + 60*60*24) Geocoder.configure(esri: {token: token, for_storage: true})