геокодирование рельсы - PullRequest
       19

геокодирование рельсы

1 голос
/ 02 октября 2011

Я пытаюсь геокодировать несколько адресов в модели, используя либо геокит, либо геокодер, и я не могу заставить любой из гемов работать так, как я хочу.Вот код, который я применяю к своей модели как для вариантов использования, так и для ошибок, которые я получаю для каждой опции.

Суть Geocoder: https://gist.github.com/112cc28b7d52402079ad

Суть Geokit https://gist.github.com/adef30cb458c1177df2b

Я использую devise и rails 3.1, если это помогает, и я вполне уверен, что яЯ близок к правильному коду в опции геокодера, но не знаю, что я делаю неправильно.

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Я определил свой собственный метод геокодирования, подобный этому:

def custom_geocode
   var = Geocoder.coordinates(self.address1)
   var2 = Geocoder.coordinates(self.address2)
   self.latitude1 = var.first
   self.longitude1 = var.last
   self.latitude2 = var2.first
   self.longitude2 = var2.last
end

Geocoder.coordinates возвращает массив широты и долготы из результирующего адреса, и вы сохраняете результирующие широты и долготы.

0 голосов
/ 04 октября 2011

не знаю геокодер, но я ввел ваш shipping_address на этом демонстрационном сайте для геокодера, и кажется, что ответ - это массивВ вашем сообщении об ошибке говорится, что вы вызываете метод latitude для массива, а ruby ​​недоволен этим.попробуйте использовать это вместо:

start_result[0].latitude
...