找到给定半径内的附近位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找到给定半径内的附近位置相关的知识,希望对你有一定的参考价值。

我已经存储了数据库中不同有趣位置的纬度和经度。每当用户点击任何有趣的地方时,节目页面都会显示该位置的详细信息,以及带有指向它的标记的谷歌地图。

现在我一直在尝试实现“显示附近地点”的按钮,以及范围下拉(例如50公里,100公里,150公里),但无法弄清楚如何做到这一点。

我想知道如何使用我在数据库中的纬度和经度从所选位置找到给定范围内的邻近地点。

答案

你应该使用geocoder,它提供了内置的方法,如:

Venue.near([40.71, 100.23], 20)    # venues within 20 miles of a point
另一答案

如果你需要精确 - 你需要牢记地球的形状 - 它不是一个平面。因此,选择您的准确度(简单球体,WGS84)并为其编写一些数学。你使用什么数据库?其中一些可以使用spartial inedxes操作,这可能非常有用。

另一答案

一个简单的 - 不准确,但快速的方法看看SO small distance

它使用一种简单的技术逻辑来适应现实世界中的许多问题,但它很快但不是准确的

以上是关于找到给定半径内的附近位置的主要内容,如果未能解决你的问题,请参考以下文章

获取半径内的附近街道地址

如何将地图划分为给定半径的圆圈?

使用经度和纬度查找给定距离内的所有附近客户

确定给定半径算法内的点

JavaRedis通过中心经纬度与半径获取范围内的结果集(类似附近的人)

Javascript查找经纬度和半径的位置