怎么用Mysql的Point类型来完成APP附近商家的功能?你知道吗?

让编程改变世界 2017-12-07

很多具备线上和线下功能的APP都有附近功能,这里的附近就是APP使用人所在位置附近几公里以内,那么我们怎么用MySQL来完成附近检索功能呢?

存储商家经纬度数据

怎么用Mysql的Point类型来完成APP附近商家的功能?你知道吗?

首先,我们需要准备很多商家的数据,尤其是商家的地理位置,即经纬度,然后将这些商家数据存储在MySQL里面,对于经纬度数据,我们可以使用MySQL的Point类型来完成数据的存储,这里需要注意的是,最好选用MySQL5.7,能够满足INNODB存储引擎支持Point数据建索引。

这里有一个小插曲,就是很多使用XAMPP的PHP程序员,目前最新的XAMPP自带的数据库还不支持

怎么查询附近的数据

怎么用Mysql的Point类型来完成APP附近商家的功能?你知道吗?

上面我们已经将商家的数据保存在MySQL数据库里面了,接下来我们看看怎么实现附近检索,相信很多程序员一定百度了很多次,从各个网站得到了一个很复杂的计算公式,虽然可以计算,但是相信没有太多的人使用,好在MySQL5.7为我们引入了一个函数:ST_Distance_Sphere,我们可以用这个来完成附近检索的功能。

一些附加的功能

怎么用Mysql的Point类型来完成APP附近商家的功能?你知道吗?

有了经纬度信息,我们还可以借助百度地图或高德地图等完成商家在地图上的标注和展示。

相关推荐