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

时间:2018-11-19 07:05:20

标签: php mysql laravel-5 location

我正在使用 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)
  • 属性名称​​ VARCHAR(255)
  • location_id INT(10)
  • 有效的 TINYINT(1)

请帮助我解决此问题。预先感谢

1 个答案:

答案 0 :(得分:0)

只需重复查询4至5次,并在Mysql中使用“联合”关键字合并结果