2016-08-10 7 views
0

Я пытаюсь указать адрес ввода или место, и мне нужно выбрать широту и долготу этого места. Я пытаюсь использовать камень geocoder, но он не работает. У меня есть поле адреса в моей таблице пользователей, но у меня нет поля широты и долготы в моей таблице пользователей. Я предоставляю адрес и по этому адресу мне нужно выбрать широту и долготу. Может ли кто-нибудь сказать мне, что я делаю неправильно?Как получить широту и долготу

class User < ActiveRecord::Base 
    geocoded_by :address 

def self.find_cordinates(users) 
     puts "Ssss{User.near(users.last['address'],5000).to_json}" 

end 


    end 

ответ

2

Вам нужно добавить latitude и longitude поля модели

rails generate migration AddLatitudeAndLongitudeToUser latitude:float longitude:float 
rake db:migrate 

чем добавить это User модель

geocoded_by :address 
after_validation :geocode 

Run

rake geocode:all CLASS=User  

Если вы не хотите, чтобы изменить вашу модель вы можете использовать метод полезности, чтобы получить координаты по адресу

Geocoder.coordinates("25 Main St, Cooperstown, NY") 
+0

нет, это не работает – Nishtha

+0

Что не работает? Вы добавляете код выше в свою модель и пытаетесь использовать 'User.near()'? –

+0

Возможно, вам нужно запустить задачу 'rake geocode: all CLASS = User' –

Смежные вопросы