MySQL:多个纬度和经度的附近位置

Posted

技术标签:

【中文标题】MySQL:多个纬度和经度的附近位置【英文标题】:MySQL: Nearby locations for multiple latitude and longitude 【发布时间】:2019-04-21 12:38:16 【问题描述】:

我正在使用 Laravel 5.5 和 MYSQL 创建一个属性搜索应用程序。那里的用户搜索购买房产的多个地点。搜索结果将显示当前位置的属性,它还会获取附近的位置属性以获得更好的结果。

如果用户搜索单个位置,我将获取该位置的纬度和经度,并使用 mysql 查询检索半径 5KM 范围内的附近位置,并根据位置显示属性。

但我的问题是当用户搜索 4 到 5 个位置时,如何获取 5KM 半径内每个位置的附近位置并根据距离对结果进行排序。我搜索了很多关于这个,但我无法获得任何资源

这里是位置和属性表的数据库结构

位置表

id INT(10) location_name VARCHAR(255) 纬度DECIMAL(11,8) 经度DECIMAL(11,8) 活动TINYINT(1)

属性表

id INT(10) property_name VARCHAR(255) location_id INT(10) 活动TINYINT(1)

请在这个问题上帮助我。提前致谢

【问题讨论】:

【参考方案1】:

只需重复查询 4 ​​到 5 次,然后在 Mysql 中使用“union”关键字组合结果

【讨论】:

以上是关于MySQL:多个纬度和经度的附近位置的主要内容,如果未能解决你的问题,请参考以下文章

如何从纬度/经度获取附近的位置?

如何在弹性搜索中使用纬度经度搜索位置附近的区域

K-means 如何确定特定纬度和经度附近的大多数位置 [关闭]

如何将相同的纬度和经度分组以在画面中显示多个位置

当位置有多个代码时,需要从邮政编码数据库中计算纬度经度

在节点 js mysql 查询中传递经度和纬度和距离作为参数