117.info
人生若只如初见

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

可以使用Haversine公式来计算两点之间的距离,该公式可以通过给定两个经纬度来计算它们之间的直线距离。

以下是一个使用JavaScript编写的示例代码:

function calculateDistance(lat1, lon1, lat2, lon2) {
  const R = 6371; // 地球半径(单位:千米)
  
  const dLat = toRadians(lat2 - lat1);
  const dLon = toRadians(lon2 - lon1);
  
  const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
            Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) *
            Math.sin(dLon / 2) * Math.sin(dLon / 2);
  
  const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  
  const distance = R * c;
  
  return distance;
}

function toRadians(degrees) {
  return degrees * Math.PI / 180;
}

// 例子
const distance = calculateDistance(40.7128, -74.0060, 34.0522, -118.2437);
console.log(distance); // 输出:3934.85(单位:千米)

在上面的代码中,calculateDistance函数接受四个参数:lat1lon1是第一个点的纬度和经度,lat2lon2是第二个点的纬度和经度。该函数首先将经纬度转换为弧度,然后使用Haversine公式计算两点之间的距离,并返回结果。在示例中,我们计算了纽约和洛杉矶之间的距离,并将结果以千米为单位输出到控制台。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fea55AzsLAwNQBFI.html

推荐文章

  • JS页面跳转代码怎么写?总结了5种方法

    使用 JavaScript 的 window.location.href 方法实现页面跳转: window.location.href = "https://example.com"; 使用 JavaScript 的 window.location.replace 方...

  • JS实现简单的相册功能

    以下是一个简单的相册功能的实现示例: 相册 .gallery { display: flex; flex-wrap: wrap; } .gallery img { width: 150px; height: 150px; object-fit: cover; ...

  • js获取文件上传路径(解决出现fakepath的问题)

    在Javascript中,由于安全性的问题,无法直接获取文件的完整路径。浏览器为了保护用户隐私,将文件路径设置为虚假路径(fake path),即使你通过input标签选择了一...

  • JS 获取当前月份的所有日期集合

    要获取当前月份的所有日期集合,可以使用JavaScript中的Date对象和循环来实现。具体步骤如下: 创建一个Date对象,该对象将自动设置为当前日期。
    使用getDa...

  • vue element组件image-viewer使用注意

    使用Vue Element的ImageViewer组件时,需要注意以下几点: 引入组件:在需要使用ImageViewer的组件中,首先要引入ImageViewer组件。可以使用全局引入或按需引入的...

  • 安装配置IIS+MySQL+PHP环境的详细教程

    安装配置IIS+MySQL+PHP环境的详细教程如下: 安装IIS:
    a. 打开控制面板,选择“程序”>“启用或关闭Windows功能”。
    b. 在弹出的对话框中找到“Inter...

  • Windows 下 配置 ngrok ngrok使用教程

    在 Windows 上配置 ngrok 需要进行以下步骤: 下载 ngrok 的 Windows 版本。你可以在 ngrok 的官方网站上下载最新版本的 Windows 版本。 解压下载的 ngrok 压缩文...

  • 深入解析Windows操作系统

    Windows操作系统是由微软公司开发的一款操作系统。它是全球使用最广泛的操作系统之一,用户可以在个人电脑、笔记本电脑、平板电脑和移动设备等多种设备上使用。<...