Avi*_*hai 4 ruby-on-rails geolocation mongodb mongoid
我一直在使用geo near查询一段时间了,但我似乎无法弄清楚如何将结果限制在一定范围内.例如,如何在此查询中将搜索限制在20英里范围内?
Place.near(:coordinates => location.reverse)
# must reverse the resulting coordinates array because mongo stores them backwards [lng,lat]
Run Code Online (Sandbox Code Playgroud)
Ram*_*Vel 10
南北纬度弧度的弧长,在任何纬度上约为60海里,111公里或69法定英里 ; 您可以在维基百科或mongo地理空间页面中阅读更多相关内容.地球是圆形但地图是平的.
分别使用英里或公里时,将距离除以69或111,现在您可以像这样查询它
Place.where(:coordinates => {"$near" => location.reverse , '$maxDistance' => 20.fdiv(69)})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1841 次 |
| 最近记录: |