psh*_*rma 4 google-maps geocoding ruby-on-rails ruby-on-rails-3 gmaps4rails
我正在使用google maps fo rails gem https://github.com/apneadiving/Google-Maps-for-Rails/.我试图找到一种方法,通过它我可以看到一个位置是否在地图圈内.例如
@circles_json = '[
{"lng": -122.214897, "lat": 37.772323, "radius": 1000000},
]
Run Code Online (Sandbox Code Playgroud)
"
这有助于我创建圆圈.但是,如何让我们看看"位置B"是否在里面@circles_json
?
我正在考虑使用宝石ruby geocoder
http://www.rubygeocoder.com/.如果是这样,我该如何继续呢?我看过轨道广播.但它主要取决于本地数据库.我正在寻找的是查看我的数据库中输入的两个位置是否彼此接近.在这种情况下,半径为50M.
任何指导表示赞赏.
谢谢
要检查点是否在圆内,请计算点与圆的中心之间的距离.如果距离大于半径,则它在圆圈外.如果半径大于距离,则它在圆内.
Ruby Geocoder有一种方便的方法来计算两点之间的距离.
Geocoder::Calculations.distance_between(point1, point2)
Run Code Online (Sandbox Code Playgroud)
要使此返回true/false,请使用简单的比较器:
in_circle? = Geocoder::Calculations.distance_between(point1, point2) < radius
Run Code Online (Sandbox Code Playgroud)
阅读文档以获取帮助#distance_between
.
归档时间: |
|
查看次数: |
2479 次 |
最近记录: |