高德地图获取坐标距离_高德地图获取两个经纬度点间直线距离JS/PHP/SQL代码
最近做了几个小站,要求要定位到当前地址并且显示附近多少公里内的商家和产品。
定位好办,直接用高德地图搞定。有不需要显示地图又需要定位的页面把地图直接隐藏掉都可以。或者可以直接调用高德的定位组件。
但是显示附近多少公里的商家和产品就难搞了。商家和产品加好经纬度地址,然后定位一个地址,通过这两个经纬度地址去算他们间的距离。
网上找了好多,基本上都是同一个算法:
ACOS(SIN((PI() / 180) * 114.055036) * SIN((PI() / 180) * 114.114627) + COS(SIN((PI() / 180) * 114.055036) * COS((PI() / 180) * 114.114627) * COS((PI() / 180) * 22.904124 - (PI() / 180) * 22.52153)) * 6371;
然而并没多大软用,距离算不正确,与实际距离相差挺大
所以我想到直接到高德地图去扒他的测距的方法。
找了好久找到他的原生方法
var d = Math.PI/180
, e = Math.cos
, f = b.P * d
, h = c.P * d
, k = 2 * 6378137
, d = c.Q * d - b.Q * d
, e = (1 - e(h - f) + (1 - e(d)) * e(f) * e(h)) / 2;
return k * Math.asin(Math.sqrt(e))
然后转成SQL语句
12756.274 * asin(sqrt((1-cos(cp * pi()/180 - bppi()/180)+(1-cos(cqpi()/180 - bqpi()/180))cos(bppi()/180)cos(cp*pi()/180))/2))
然后套用为php代码
$list = model('seller')->query('(12756.274 * asin(sqrt((1-cos('.$longitude.' * pi()/180 - longitudepi()/180)+(1-cos('.$latitude.'pi()/180 - latitudepi()/180))cos(longitudepi()/180)cos('.$longitude.'*pi()/180))/2))) < 5');
搞定,收工,就是这么简单,不知道大家是否看懂了,若没有看懂八叔模版堂欢迎大家前来吐槽。
高德地图获取坐标距离_高德地图获取两个经纬度点间直线距离JS/PHP/SQL代码相关推荐
- Java - 计算两个经纬度之间的直线距离
Java - 计算两个经纬度之间的直线距离 代码Github地址 https://github.com/FrankZuozuo/JavaSpecial 1.点接口 public interface P ...
- js计算两个经纬度之间的直线距离
function getRad(d){ var PI = Math.PI; return d*PI/180.0; }/*** 获取两个经纬度之间的距离* @param lat1 第一点的纬度* @pa ...
- python基于经纬度距离汇聚点_python实现两个经纬度点之间的距离和方位角
from:http://blog.csdn.net/zhuqiuhui/article/details/53180395 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, ...
- vue吸管拾色器、利用canvas获取坐标点颜色、canvas获取坐标点颜色图片跨域、图片转base64、colorPicker
vue吸管拾色器.利用canvas获取坐标点颜色.canvas获取坐标点颜色图片跨域.图片转base64.colorPicker 1.需求:表格中主颜色和次颜色是需要从缩略图上吸取颜色,然后渲染色块, ...
- python计算两个点之间的距离_python实现两个经纬度点之间的距离和方位角的方法...
最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...
- 变分法求解两点间直线距离最短
变分法求解两点间直线距离最短,问题很小,意义很大.
- python 计算两个经纬度的距离_python实现两个经纬度点之间的距离和方位角的方法...
最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...
- geotools 计算两个经纬度点之间的距离
geotools 计算两个经纬度点之间的距离 主要的maven依赖 代码实现 最近研究geotools,发现网上的直接搜索相关实现比较少,所以贴出示例代码,方便大家寻找. 主要的maven依赖 < ...
- android 高德地图移动卡顿_高德、百度和腾讯三家比拼,哪个 Android 车机地图 App 更好用?...
写在前面 不管是自己开车.还是平时打车,相信你一定留意过驾驶座旁边位于车辆中间的那块大屏幕,不管是平时开车导航.放音乐,还是通过倒车影像辅助倒车,都离不开这块屏幕,这就是中控车机. 中控车机往往搭载的 ...
最新文章
- 07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)...
- [转]C++ 使用Makefile文件
- 开源大数据周刊-第44期
- SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式)...
- java提高篇(十七)-----异常(二)
- openldap linux客户端,OpenLDAP 客户端安装部署
- Python代码这样写更优雅(转)
- 发动机悬置python仿真计算
- Ubuntu下安装vim以及常用命令
- 2019最新版Eclipse下载与安装
- Java—企业微信网页版登陆认证详解
- BUUCTF-神秘龙卷风
- 基于TCP的STM32 IAP bootloader初步设计
- 薅羊毛php源码,基于AutoJs实现的薅羊毛App专业版源码大分享---更新啦
- 使用jquery生成随机二维码的方法
- vue 生成带logo的二维码 qrcode-vue 支持下载图片 实例详解
- 如何自行编辑Endnote中参考文献格式?
- SEO网站优化第一步:关键词词库表格的建立和关键词分组
- 编译sakai10.6
- 吴恩达机器学习:方差与偏差
热门文章
- ubuntu20.04双系统启动盘制作、安装和卸载
- 系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸
- 胡巴动态表情包 捉妖记胡巴QQ表情无水印下载
- 工大校园邮箱申请流程
- 左耳朵耗子:我做系统架构的一些原则
- Win10更新的若干弊端以及关闭Win10更新方法
- 百度、微博的大数据算法Top10热搜怎么实现?
- Docker Desktop启动失败(Docker failed to initialize Docker Desktop is shutting down)
- CSDN上Android与IPhone开发博客精选
- B站JavaScript从入门到精通智能社Blue石川老师视频部分代码_幻灯片