高德地图两点间距离计算函数
高德地图其实提供了计算接口,但是很多时候调用很不方便。
高德地图提供的计算距离示例计算结果如下:
用与上例相同的坐标使用计算距离的函数计算,结果如下:
两者相差无几,取整后所得数值一致,所以可以认为这个计算函数就是高德用来计算两点距离的函数。
JavaScript:
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script>function getDistance(lat1, lon1, lat2, lon2) {var radLat1 = (lat1 * Math.PI) / 180; //将角度换算为弧度var radLat2 = (lat2 * Math.PI) / 180; //将角度换算为弧度var a = radLat1 - radLat2;var b = (lon1 * Math.PI) / 180 - (lon2 * Math.PI) / 180;var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));s = s * 6378137.0; // 取WGS84标准参考椭球中的地球长半径(单位:m)//s = Math.round(s * 10000) / 10000; //两点之间距离(保留四位)return s; //(单位:m)}</script></head><body><script>alert(getDistance(39.923423,116.368904,39.922501,116.387271));</script></body>
</html>
C#:
//判断是否位于打卡圈内(单位:m)public bool isInCircle(double lat1, double lon1, double lat2, double lon2, double radius){bool isIn = false;double radLat1 = (lat1 * Math.PI) / 180; //将角度换算为弧度double radLat2 = (lat2 * Math.PI) / 180; //将角度换算为弧度double a = radLat1 - radLat2;double b = (lon1 * Math.PI) / 180 - (lon2 * Math.PI) / 180;double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) + Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2), 2)));s = s * 6378137.0; // 取WGS84标准参考椭球中的地球长半径(单位:m)s = Math.Round(s * 10000) / 10000; //两点之间距离(保留4位小数)if (s < radius){//两点之间的距离小于给定半径,处于打卡范围内isIn = true;}return isIn; }
高德地图两点间距离计算函数相关推荐
- mysql数据库通过高德地图经纬度计算两点之间的距离
计算下面两个点的距离 106.711574,26.573862 107.152022,27.658974 SELECT PI() pi, ACOS(SIN((PI() / 180) * 26.5738 ...
- 函数计算助力高德地图平稳支撑亿级流量高峰
简介:2020 年的"十一出行节"期间,高德地图创造了记录 --截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日活跃用户突破 1 亿,比 2019 ...
- Java 集成高德地图(源码复制即用)实现地址转经纬度,经纬度转地址,计算两点间距离
步骤: (更改方法返回值类型为基本类型可省去这步) copy 封装好的返回对象 导入工具类所需枚举类(避免出现魔法值) 导入工具类(将高德应用Key改为自己申请的key) 导入 controller ...
- Java对接高德地图计算距离_高德地图计算两点之间的距离java+html
高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: /** * 两点的经纬度获取两点距离米 * @param (121.293986,37.27 ...
- 高德地图获取坐标距离_利用java、js或mysql计算高德地图中两坐标之间的距离
前言 因为工作的原因,最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了 ...
- 高德地图计算两坐标之间距离
转载自:http://blog.csdn.net/jianggujin/article/details/72833711 如要转载请写明原创地址 Java实现 Javascript实现 MySQL实现 ...
- JAVA利用数组求两点距离_利用java、js或mysql计算高德地图中两坐标之间的距离
利用java.js或mysql计算高德地图中两坐标之间的距离 2019-09-19 编程之家收集整理的这篇文章主要介绍了利用java.js或mysql计算高德地图中两坐标之间的距离,编程之家小编觉得挺 ...
- php高德地图计算距离接口,高德地图计算两坐标之间距离
最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了相关计算方法,供大家参 ...
- Python通过高德地图API批量计算两地路线距离
公司需求批量计算两地之间行车距离,故此记录一下,数据接口采用高德地图开发者api,需要注册,注册后免费版的数据量已够满足大多数使用. import pandas as pd import reques ...
- reactjs中使用高德地图计算两个经纬度之间的距离
第一步下载依赖 npm install --save react-amap 第二步,在组件中使用 import React, { Component } from 'react' import { L ...
最新文章
- docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器
- C#学习笔记(二)运算符 乘方 判断语句 循环语句 比较运算符 逻辑运算符 数组...
- SQL2K数据库开发二十一之索引操作创建索引
- 树莓派、debian 下安装 phantomjs casperjs
- 帆软报表邮箱验证码登录
- 美食博主整本菜譜全記錄
- Word2007发布文章成功
- 【高效复习】《数据库系统概论》王珊版
- Clover 引导 Windows 及 Linux 双系统
- 电脑上网前必须要安装的四个补丁
- android wifi信号通道,Wifi信道分析app下载
- 云计算10个入门基础知识
- OpenCV——SAD立体匹配
- codeforces838D - Airplane Arrangements
- 浏览器显示“您与此网站之间建立的连接不安全”的解决方案
- fileupload.class.php,PHP 文件上传类 FileUpload 高洛峰老师 细说PHP
- 如何删除word空白页技巧汇总
- colormap保存 matlab_matlab的colormap的保存
- make clean与make distclean的区别
- 全国大学生智能车竞赛比赛规则补充说明(1)
热门文章
- matlab usb采集,求助MATLAB是否支持USB数据采集卡
- 新手平面设计师如何在网上接单赚钱?
- java 怎么去JTF边框_求助 java 如何编写JFrame窗体右上角红色打叉关闭按钮的事件?...
- Error:(list) object cannot be coerced to type 'double'的处理
- 一小时看懂Ruby代码基本逻辑(自定义metasploit模块)
- liunx机器开放8080端口
- gcc编译C++ 符号名解码 c++filt demangle
- 城建税和教育费附加怎么计算
- 揭秘 | Akuna工作体验大揭秘
- 初识C++(二)内联函数、atuo、以及范围for的使用