首页 > 其他分享 >根据两点经纬度计算两点间距离 js

根据两点经纬度计算两点间距离 js

时间:2023-02-20 09:56:47浏览次数:33  
标签:distance 180.0 经纬度 js let str 两点 PI Math

        getDistance(lat1, lng1, lat2, lng2) {
                let radLat1 = lat1 * Math.PI / 180.0;
                let radLat2 = lat2 * Math.PI / 180.0;
                let a = radLat1 - radLat2;
                let b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
                let 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 * 6378.137;
                s = Math.round(s * 10000) / 10000;
                let distance = s.toString();
                let distance_str = "";
                distance = distance.substring(0, distance.indexOf('.') + 2);
                if (parseInt(distance) >= 1) {
                    distance_str = distance + "km";
                    return distance_str
                } else {
                    distance_str = (distance * 1000) + "m";
                    return distance_str
                }
            },

 

标签:distance,180.0,经纬度,js,let,str,两点,PI,Math
From: https://www.cnblogs.com/changshu/p/17136329.html

相关文章

  • JSR303字段校验规则(笔记)
    ###直接上示例代码引入依赖(如果项目中没有的话)<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId>......
  • NodeJS:使用 superagent 和 cheerio 爬取网页
    安装依赖:npminstallsuperagentcheerio--save同步代码:constsuperagent=require('superagent')constcheerio=require('cheerio')constfs=require('fs')f......
  • JS 异步
    回调函数ES5:使用回调函数处理异步执行的结果setTimeout(()=>{console.log('1')setTimeout(()=>{console.log('2')setTimeout(()=>{console......
  • js得到当前窗口内的宽度和高度
    vars="";s+="\r\n网页可见区域宽:"+document.body.clientWidth;s+="\r\n网页可见区域高:"+document.body.clientHeight;s+="\r\n网页可见区域宽:"+document.......
  • JS字符串和json转换
    <head><scriptsrc="jquery-1.8.0.min.js"type="text/javascript"></script><scriptsrc="jquery.json-2.4.js"type="text/javascript"></script></head>varst......
  • JS 差集
    <htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="zh"lang="zh"dir="ltr"><scripttype="text/javascript">vararr1=[1,3,4,5,6,7,8];var......
  • JS取queryString
    String.prototype.GetValue=function(para){varreg=newRegExp("(^|&)"+para+"=([^&]*)(&|$)");varr=this.substr(this.indexOf("\?")+1).match(re......
  • jsp开发基础
    1、什么时动态网页?指的是能够通过不同的操作返回不同的功能及数据,具有交互功能。常见的开发模式:B/S架构:游览器和服务器C/S架构:客户端和服务器B/S架构的执行原理:基于......
  • 前端require.js的基本用法
    require.js是一个js脚本加载器(模块化加载),它遵循AMD(AsynchronousModuleDefinition)规范,实现js脚本的异步加载,不阻塞页面的渲染和其后的脚本的执行,并提供了在加载完成之后......
  • 基于jsplumb构建的流程设计器
    项目背景最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,......