栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

mySQL经度和纬度查询x英里半径内的其他行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mySQL经度和纬度查询x英里半径内的其他行

这是我在商店定位器上使用的查询:

SELECt    `id`,    (        6371 *        acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos(     radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`))        )    ) `distance`FROM    `location`HAVINg    `distance` < :distanceORDER BY    `distance`LIMIT    25

:lat
:long
是用户传递的点,其中
lat
long
是存储在数据库中的点。

:distance以英里为单位,在代码的工作版本中,:distance实际上是从10-50英里范围内的下拉列表中拉出的

借助joshhendo的解决方案,可以将3959(从地球中心到地面的距离,以英里为单位)更改为6371(将3959英里转换为公里),从而将代码更改为以千米为单位。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号