From cbf76a7522e13a17ae71b96a3b4f15e320837145 Mon Sep 17 00:00:00 2001
From: Dobromir Minchev <dobri87@gmail.com>
Date: Fri, 13 Sep 2013 14:53:46 +0300
Subject: [PATCH] Add reversed geocoding support for Ovi/Nokia

---
 lib/geocoder/lookups/ovi.rb | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/geocoder/lookups/ovi.rb b/lib/geocoder/lookups/ovi.rb
index 6007eb4d..d59ac73e 100644
--- a/lib/geocoder/lookups/ovi.rb
+++ b/lib/geocoder/lookups/ovi.rb
@@ -13,7 +13,7 @@ module Geocoder::Lookup
     end
 
     def query_url(query)
-      "#{protocol}://lbs.ovi.com/search/6.2/geocode.json?" + url_query_string(query)
+      "#{protocol}://lbs.ovi.com/search/6.2/#{if query.reverse_geocode? then 'reverse' end}geocode.json?" + url_query_string(query)
     end
 
     private # ---------------------------------------------------------------
@@ -29,12 +29,22 @@ module Geocoder::Lookup
     end
 
     def query_url_params(query)
-      super.merge(
-        :searchtext=>query.sanitized_text,
+      options = {
         :gen=>1,
         :app_id=>api_key,
         :app_code=>api_code
-      )
+      }
+
+      if query.reverse_geocode?
+        super.merge(options).merge(
+          :prox=>query.sanitized_text,
+          :mode=>:retrieveAddresses
+        )
+      else
+        super.merge(options).merge(
+          :searchtext=>query.sanitized_text,
+        )
+      end
     end
 
     def api_key
-- 
GitLab