From a4d7908d84ad2df643b1e87d1f6dfcb75c07f687 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Fri, 22 Apr 2011 01:33:42 -0400
Subject: [PATCH] Reverse coordinate order for Yandex.

On input and output (expects/returns lon,lat instead of lat,lon).
---
 lib/geocoder/lookups/yandex.rb | 1 +
 lib/geocoder/results/yandex.rb | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/geocoder/lookups/yandex.rb b/lib/geocoder/lookups/yandex.rb
index 66d14f5c..e999a378 100644
--- a/lib/geocoder/lookups/yandex.rb
+++ b/lib/geocoder/lookups/yandex.rb
@@ -18,6 +18,7 @@ module Geocoder::Lookup
     end
 
     def query_url(query, reverse = false)
+      query = query.split(",").reverse.join(",") if reverse
       params = {
         :geocode => query,
         :format => "json",
diff --git a/lib/geocoder/results/yandex.rb b/lib/geocoder/results/yandex.rb
index 7f6f3281..2227a521 100644
--- a/lib/geocoder/results/yandex.rb
+++ b/lib/geocoder/results/yandex.rb
@@ -4,7 +4,7 @@ module Geocoder::Result
   class Yandex < Base
 
     def coordinates
-      @data['GeoObject']['Point']['pos'].split(' ').map(&:to_f)
+      @data['GeoObject']['Point']['pos'].split(' ').reverse.map(&:to_f)
     end
 
     def address(format = :full)
-- 
GitLab