开发者

Distance and range calculation in Geokit/Geocoder

开发者 https://www.devze.com 2023-03-17 05:03 出处:网络
I have the following issue. Consider 2 models with attributes: Place - lat - lng - range User - lat - lng Places have location and some range defined (think about it as area of shipping). User ha

I have the following issue.

Consider 2 models with attributes:

Place
- lat
- lng
- range

User
- lat
- lng

Places have location and some range defined (think about it as area of shipping). User has his own location.

I use Geocoder for geolocation (I could use Geokit as well). I can calculate distance to object (something like object.distance_to([lat,lng])

Now, I'd like to select all places that ranges include my location. At the higher level: I would like to know, which places provide shipping for my location.

It's easier when I'm looking for collection of objects开发者_如何学JAVA in given range. However I need something "reversed", something from another side.

What method/scope should I write? Maybe Geocoder/Geokit have somthing already for me?


Finally I haven't found anything in gems but I wrote the following method

class User < ActiveRecord::Base
  #...  
  def in_reach?(place)
    place.distance_to([lat,lng]) <= place.range
  end 
end
0

精彩评论

暂无评论...
验证码 换一张
取 消