簡體   English   中英

geokit-rails使路線通過近2點

[英]geokit-rails getting the route passing close to 2 points

我有一個route模型

class Route < ActiveRecord::Base
  has_many :etapes
  acts_as_mappable :through => :steps
end

step (包含lat和lgn)

class Step ActiveRecord::Base
  belongs_to :route
  acts_as_mappable
end

實際上,我可以使用in_range范圍獲得經過近一點的in_rangeRoute.joins(:steps).in_range(0..15, :origin => [lat, lng]).group(:id)

我正在嘗試使route傳遞接近2 stepsacts_as_mappable沒有我需要的范圍,所以我想知道最好的方法是什么?

好吧,對於那些有類似問題的人,我是這樣做的。

給定一個具有4點的哈希值(2緯度和經度);

ids = Route.joins(:steps).in_range(0..15, :origin => [hash[:lat1], hash[:lng1]]).group(:id).map(&:id)
routes = Route.joins(:steps).in_range(0..15, :origin => [hash[:lat2], hash[:lng2]]).group(:id)
routes.select {|route| ids.include? route.id}

我首先選擇第一個點在范圍內的路線,然后選擇第二個點在范圍內的路線,然后在第一條路線中僅選擇第二條路線中的一條路線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM