我試圖根據位置在對象@school附近找到一個對象@center,並在地圖框上顯示中心。我過去在這裏我的代碼,因爲我不知道我所做的:導軌,地圖框和地理編碼器:在另一個對象附近查找對象
這裏是代碼顯示的地圖(含2數據:學校和中心):
<div id="school-map" data-coordinates="<%= @school.coordinates.reverse %>" data-centers="<%= @center.coordinates.reverse %>"> </div>
這裏是center.rb模型:
class Center
include Mongoid::Document
include Geocoder::Model::Mongoid
has_many :schools
accepts_nested_attributes_for :schools
field :title, type: String
field :image_path, type: String
field :Attachment_path, type: String
field :website, type: String
field :phone, type: String
field :street, type: String
field :zipcode, type: String
field :city, type: String
field :coordinates, type: Array
geocoded_by :adress
#after_validation :geocode
def adress
[street, zipcode, city].compact.joint(', ')
end
end
在school.rb模式,我試試這個方法:
def center_near_school(school_adress_coordinates)
school_adress_coordinates = @school.coordinates.reverse
center = Center.near(school_adress_coordinates, 1, units: :km)
末
,我儘量表現串像「是」或「否」要知道,如果我的方法工作:
<% if @school.center_near_school %>
<p> OUI </p>
<% else %>
<p> NON </p>
<% end %>
我創建的關係在這兩種模式中,標記(的has_many:中心:學校,和的has_many)世代是在顯示地圖的show.js中創建的。
有人可以幫助我找到一些解決方案來創建此功能嗎?
不要猶豫,問我來編輯這個職位更多的信息(碼,精度...)
謝謝!
'加入',而不是'聯合'。什麼工作已經? 「接近」是你想寫的一種方法嗎? –
@EricDuminil附近的方法是已經存在的地理編碼器方法 –
所以。什麼可行,什麼不行?你有什麼錯誤嗎? –