Используя Gem Google-Maps-for-Rails, как мне найти точки в пределах определенного расстояния до данной точки? - PullRequest
1 голос
/ 15 ноября 2011

Мне интересно, возможно ли использовать гем Google-Maps-for-Rails, чтобы найти список точек, сохраненных в базе данных, которые находятся в пределах указанного радиуса данной точки.Например, как мне найти все точки в моей базе данных, которые находятся в пределах 20 миль от Статуи Свободы.

Я не смог найти ничего в документации, касающейся этого сценария, если не пропустил это.

Спасибо, что посмотрели.

1 Ответ

2 голосов
/ 15 ноября 2011

Я не думаю, что Google Maps для Rails делает это из коробки. Я закончил тем, что использовал Google Maps для Rails для создания карты и использовал Geocoder для геокодирования и определения области моих точек данных.

С обоими драгоценными камнями в моей модели:

class Store < ActiveRecord::Base
  acts_as_gmappable

  private

  def gmaps4rails_address
    "#{address_line_1}, #{self.city}, #{self.region}, #{self.postal_code}, #{self.country}"
  end
end

В моем контроллере у меня есть:

индекс индекса

if params[:search]
  @stores = Store.near(params[:search], 20)
  @json = @stores.to_gmaps4rails
else
  @stores = Store.all
  @json = @stores.to_gmaps4rails
end

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @stores }
end

конец

Кажется, это работает просто отлично, но я оставлю этот вопрос открытым, если есть лучший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...