首页 » 网站建设 » phpmysql盘算距离技巧_MySQL数据库若何根据两点经纬度计算距离

phpmysql盘算距离技巧_MySQL数据库若何根据两点经纬度计算距离

访客 2024-11-06 0

扫一扫用手机浏览

文章目录 [+]

我们常常在一些运用中看到类似这样的功能,即根据用户定位显示间隔用户由近及远的商品或商家。
如下图所示:

在上图中,我们可以看到平台显示了一些商家,同时标注了它们离我所在位置的间隔。
这样的设计对付用户或者商家来说体验都是比较好的,一方面有助于用户筛选商家,另一方面也帮助了商家进行精确营销。

phpmysql盘算距离技巧_MySQL数据库若何根据两点经纬度计算距离

那这是如何做到的呢?

phpmysql盘算距离技巧_MySQL数据库若何根据两点经纬度计算距离
(图片来自网络侵删)

在一开始入手这个功能的时候,我曾考虑先从MySQL数据库里拿出数据,然后在页面渲染的时候,再利用第三方舆图库(如腾讯舆图,高德舆图等),打算出位置,渲染到页面。
如果你单论是否可以实现这样的功能,那这样的方案是没有问题的;但你若问这样的方案实现起来是否麻烦,那我就不能乱下定论了,由于毕竟间隔的打算在前端处理。

那可不可以直接在MySQL数据库里打算间隔呢?

最近在重新研究此功能的时候,我创造是可以直接在MySQL数据库里直接打算间隔的。

首先,获取打算公式,如下:

然后,根据公式,在MySQL数据库里创建一个函数DISTANCE,如下:

第三,调用DISTANCE函数,并传入两点的经纬度,如下:

以上SQL语句只是打算两点之间的间隔,如果你想在打算间隔的同时,再作筛选和排序,你可以如下操作:

这样,你也可以实现根据用户定位由远及近的显示商品或商家。

比拟,在前端打算间隔和在MySQL数据库打算间隔,创造在MySQL数据库上操作有很大上风,它不仅可以轻松的打算间隔,而且还可以轻松的按照间隔进行排序、筛选等。

根据个人履历,推举大家利用MySQL数据库打算两点间隔。

本文由“编码之道”原创,转载请注明出处。

标签:

相关文章

今日头条算法如何打造个化推荐系统

信息爆炸的时代已经到来。人们每天都要面对海量的信息,如何在海量信息中找到自己感兴趣的内容,成为了许多人关注的焦点。今日头条作为一款...

网站建设 2025-01-31 阅读1 评论0