gpt4 book ai didi

ruby-on-rails - RoR : Check for a location within a radius of the other location, 使用谷歌地图 api

转载 作者:行者123 更新时间:2023-12-04 05:30:37 28 4
gpt4 key购买 nike

我正在使用 google maps fo rails gem https://github.com/apneadiving/Google-Maps-for-Rails/ .我正在尝试找出一种方法,通过它我可以查看某个位置是否在 map 圈内。例如

@circles_json = '[
{"lng": -122.214897, "lat": 37.772323, "radius": 1000000},
]

'

这有助于我创建圈子。但是,我如何查看“位置 B”是否在 @circles_json 内? ?

我正在考虑使用 gem ruby geocoder http://www.rubygeocoder.com/ .如果是这样,我该怎么做?我看了railscasts。但这主要取决于本地数据库。我正在寻找的是查看在我的数据库中输入的两个位置是否彼此靠近。在这种情况下,半径为 50M。

任何指导表示赞赏。

谢谢

最佳答案

要检查一个点是否在一个圆内,请计算该点与圆心之间的距离。如果距离大于半径,则在圆外。如果半径大于距离,则它在圆内。

Ruby Geocoder 有一种方便的方法来计算两点之间的距离。

Geocoder::Calculations.distance_between(point1, point2)

要使其返回 true/false,请使用简单的比较器:
in_circle? = Geocoder::Calculations.distance_between(point1, point2) < radius

阅读 documentation使用 #distance_between 寻求帮助.

关于ruby-on-rails - RoR : Check for a location within a radius of the other location, 使用谷歌地图 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632061/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com