fuzongle

技术交流QQ群:422167709 想学习的朋友可以进入,各路IT大牛帮忙解决问题

1.首先我们需要创建一个门店表如下:

CREATE TABLE `app_store` (
`store_id` int(11) NOT NULL AUTO_INCREMENT COMMENT \'发布id\',
`store_name` varchar(255) DEFAULT NULL COMMENT \'门店名字\',
`longitude` varchar(255) DEFAULT NULL COMMENT \'经度\',
`latitude` varchar(255) DEFAULT NULL COMMENT \'维度\',
PRIMARY KEY (`release_id`)
) ENGINE=InnoDB AUTO_INCRE

2.每个门店肯定是后台创建的,创建的时候根据地址查询经纬度,将经纬度存入数据库,根据地址查询经纬度详情:www.fuzongle.com

3.我在网上找了好多方法,个人感觉用sql查询,这个查询速度相对来说最快的了。
需求:根据用户当前位置查询附近的门店距离,附近多少是/m 单位,能快速查询所有的门店。

SELECT 
store_name,
round(
    \'6371\' * 2 * asin(
        sqrt(
            pow(
                sin(
                    (
                        用户现在的维度 * PI() / 180 - 数据库表的维度字段名字 * PI() / 180
                    ) / 2
                ),
                2
            ) + cos(longitude * PI() / 180) * cos(数据库表的维度名字 * PI() / 180) * pow(
                sin(
                    (
                        用户现在的经度 * PI() / 180 - 数据库表的经度字段名字 * PI() / 180
                    ) / 2
                ),
                2
            )
        )
    ) * 附近多少米之内的门店
) as distance
FROM app_store

感觉好的希望关注一下!

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2021-12-19
  • 2021-12-06
  • 2021-06-30
  • 2021-11-18
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-04-14
  • 2021-12-06
相关资源
相似解决方案