这篇文章主要介绍了PHP计算百度地图两个GPS坐标之间距离的方法,是针对百度地图接口开发的典型应用,需要的朋友可以参考下

本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法。分享给大家供大家参考。

具体实现方法如下:

复制代码 代码如下:

/**

* 计算两个坐标之间的距离(米)

* @param float $fP1Lat 起点(纬度)

* @param float $fP1Lon 起点(经度)

* @param float $fP2Lat 终点(纬度)

* @param float $fP2Lon 终点(经度)

* @return int

*/

function distanceBetween($fP1Lat, $fP1Lon, $fP2Lat, $fP2Lon){

$fEARTH_RADIUS = 6378137;

//角度换算成弧度

$fRadLon1 = deg2rad($fP1Lon);

$fRadLon2 = deg2rad($fP2Lon);

$fRadLat1 = deg2rad($fP1Lat);

$fRadLat2 = deg2rad($fP2Lat);

//计算经纬度的差值

$fD1 = abs($fRadLat1 - $fRadLat2);

$fD2 = abs($fRadLon1 - $fRadLon2);

//距离计算

$fP = pow(sin($fD1/2), 2) +

cos($fRadLat1) * cos($fRadLat2) * pow(sin($fD2/2), 2);

return intval($fEARTH_RADIUS * 2 * asin(sqrt($fP)) + 0.5);

}

/**

* 百度坐标系转换成标准GPS坐系

* @param float $lnglat 坐标(如:106.426, 29.553404)

* @return string 转换后的标准GPS值:

*/

function BD09LLtoWGS84($fLng, $fLat){ // 经度,纬度

$lnglat = explode(',', $lnglat);

list($x,$y) = $lnglat;

$Baidu_Server = "http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x={$x}&y={$y}";

$result = @file_get_contents($Baidu_Server);

$json = json_decode($result);

if($json->error == 0){

$bx = base64_decode($json->x);

$by = base64_decode($json->y);

$GPS_x = 2 * $x - $bx;

$GPS_y = 2 * $y - $by;

return $GPS_x.','.$GPS_y;//经度,纬度

}else

return $lnglat;

}

希望本文所述对大家的php程序设计有所帮助。

php 地图 距离,PHP计算百度地图两个GPS坐标之间距离的方法相关推荐

  1. gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法

    <PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法>要点: 本文介绍了PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法,希望对您有用.如果有疑问,可以联系我们. 本文实 ...

  2. c#语言+计算两个位置的距离,计算两个GPS坐标的距离 方法一 - C#语言

    场景:已知两个GPS点的经纬度坐标信息.计算两点的距离. 1. 距离/纬度关系 GPS: 22.514519,113.380301 GPS: 22.511962,113.380301 距离:284.6 ...

  3. Java:计算地球上两个经纬度坐标之间的距离-geodesy和geotools实现

    目录 方式一:自定义公式计算 方式二:geodesy计算距离 方式三:geotools计算距离 两个点的经纬度 latitude纬度 longitude经度 地点 22.678611 113.8056 ...

  4. java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离

    原标题:Java教程之地图中计算两个GPS坐标点的距离 在日常开发中,我们难免要计算两个左边之间的距离,但是地图软件api的接口普遍要求我们必须要先将坐标点传递到他们服务器,然后计算出一个距离返还给我 ...

  5. 计算坐标点的距离计算机公式,计算两个GPS坐标点的距离

    原标题:计算两个GPS坐标点的距离 在日常开发中,我们难免要计算两个左边之间的距离,但是地图软件api的接口普遍要求我们必须要先将坐标点传递到他们服务器,然后计算出一个距离返还给我们,使用起来太不方便 ...

  6. mysql gps数据查询_Mysql数据库中计算两GPS坐标的距离

    Mysql数据库中计算两GPS坐标的距离有两种方式: 1.直接使用SQL语句:#lat为纬度, lng为经度, 一定不要弄错 declare @lng1 float; declare @lat1 fl ...

  7. html计算机之间的距离,如何使用百度地图测量两地之间距离知道大概需要多少时间...

    使用地图的同志,常常需要知道两地之间的距离是多少,以便自己在旅途,或者出差的时候能知道从此地到彼地大概能用多少时间.百度地图就完全满足了这方面的需求,它能准确的测量地图上任意两地之间的距离,下面的步骤 ...

  8. Android百度地图雷达效果,地图导航实测:百度地图路线雷达圈粉“老司机”

    原标题:地图导航实测:百度地图路线雷达圈粉"老司机" 前段时间,百度和高德就谁是第一的问题引发了一场争论,而作为驾龄近10年的老司机,我并不关心两家输赢,只想说说哪个导航更好用.更 ...

  9. html5 geolocation 百度地图,html5 geolocation配合百度地图api实现定位

    1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用 ...

最新文章

  1. OpenCV-Python形态变换、图像金字塔、轮廓属性、直方图
  2. 关于python3与python2同时存在情况下导入pyqt失败解决记录
  3. 安装 Homebrew
  4. bzoj1588[HNOI2002]营业额统计
  5. 回字有四种写法,那你知道单例有五种写法吗
  6. bash中时间、日期操作
  7. js保存网络图片至本地
  8. 电脑显示器黑屏故障全解析
  9. fftshift函数详解
  10. 基于python的三维射线追踪库-ttcrpy详解(4)
  11. 视频教程-屏幕录像专家录制超清视频教程-Windows
  12. MFC隐藏窗口及图标
  13. mysql积分表和业务表_积分相关数据库表该如何设计?业务表和积分明细表该如何匹配上...
  14. 基于树莓派的语音对话助手 百度机器人 适合入门
  15. 计算机继续教育笔记,第三轮继续教育自学读书笔记
  16. Hexo博客使用友盟+CNZZ统计页面访问次数
  17. linux skb_buf大小,linux网络 skb_buff
  18. 提前还贷怎样才划算 多还本金减少期限最划算
  19. STM32学习之DS18B20数字温度传感器
  20. Mysql_DML数据修改语言

热门文章

  1. JS:a=b=c,a=?
  2. 请求地址出现不明的字符%E2%80%8E(Zero-Width Space)
  3. iview中嵌套使用tabs注意事项
  4. 使用vue-amap
  5. H5禁止手机自带键盘弹出
  6. 统计:mAP的中文意思
  7. ubuntu 安装 OpenCV-CUDA
  8. springmvc配置ssl_spring MVC配置详解
  9. 截取屏幕,并保存图片到本地(画廊)
  10. laravel进阶系列--通过事件和事件监听实现服务解耦