2013-12-17 3 views
1

У меня есть отдельная база данных, которая включает: address, lat, long, name. У меня есть все адреса, которые я хочу без их координат. Есть ли способ найти координаты, чтобы использовать их в качестве маркеров на моей активной карте?Найти координаты для моей адресной базы данных базы данных

Другими словами, я хочу что-то партию ?! geocode мои адреса, которые уже находятся в моей базе данных.

Большое спасибо

Отредактировано:

def index 
if params[:search].present? 
    @locations = Location.near(params[:search], 20, :order => :distance) 
else 
    @locations = Location.all 
    @locations.each do |l| 
    if l.latitude.nil? 
     new_location = "#{l.address}" 
     s = Geocoder.search(new_location) 
     l.latitude = s[0].latitude 
     l.longitude = s[0].longitude 
     l.save 
    end 
    end 
end 

Это то, что у меня есть, но он обновляет только мой первый адрес в базе данных.

ответ

0

Отъезд gmaps4rails камень в https://github.com/apneadiving/Google-Maps-for-Rails

Вот что я использую в модели один из моих приложений:

acts_as_gmappable lat: 'latitude', lng: 'longitude', 
    process_geocoding: :geocode?, 
    address: :full_address, 
    msg: "Sorry, not even Google could figure out where that is" 

О, и вот мой geocode? метод:

def geocode? 
    latitude.blank? || longitude.blank? 
end 

Так когда модели latitude и/или longitude равны нулю, gmaps4rails автоматически выполняет поиск и заполняет t он записи.

+0

Привет, Донован, это то, что я использую плюс геокодер. Моя проблема в том, что когда я использую новую базу данных, у которой уже есть адреса, я хочу обновить их координаты. – ThinkFast

+0

Этот драгоценный камень уже имеет положения для этого, но вам нужно будет выполнить ручную задачу по восстановлению координат. В моем приложении я просто устанавливаю долготу и широту в nil, а gmaps4rails восстанавливает местоположение. – Donovan

+0

Благодарим вас за помощь. Я знаю, что это будет работать, когда вы создадите новый адрес через свой индекс. Но как это будет работать, если у вас есть база данных с 300 адресами уже без координат? – ThinkFast

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