博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度地图坐标之间的距离php
阅读量:5158 次
发布时间:2019-06-13

本文共 1231 字,大约阅读时间需要 4 分钟。

1 function GetDistance($lat1, $lng1, $lat2, $lng2){  2         define('PI',3.1415926535898); 3         define('EARTH_RADIUS',6378.137); 4         $radLat1 = $lat1 * (PI / 180); 5         $radLat2 = $lat2 * (PI / 180); 6         7         $a = $radLat1 - $radLat2;  8         $b = ($lng1 * (PI / 180)) - ($lng2 * (PI / 180));  9        10         $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2))); 11         $s = $s * EARTH_RADIUS; 12         $s = round($s * 10000) / 10000; 13         return $s; 14     }

返回的是公里

下面是网上的代码,使用的时候需要进行些许修改

第一个函数是获得范围,参数为纬度经度半径

第二个函数是计算坐标距离

1 
$minLat,21 'maxLat' => $maxLat,22 'minLon' => $minLng,23 'maxLon' => $maxLng24 );25 return $range;26 }27 //获取2点之间的距离28 function GetDistance($lat1, $lng1, $lat2, $lng2){ 29 $radLat1 = $lat1 * (PI / 180);30 $radLat2 = $lat2 * (PI / 180);31 32 $a = $radLat1 - $radLat2; 33 $b = ($lng1 * (PI / 180)) - ($lng2 * (PI / 180)); 34 35 $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2))); 36 $s = $s * EARTH_RADIUS; 37 $s = round($s * 10000) / 10000; 38 return $s; 39 }

 

转载于:https://www.cnblogs.com/zonglonglong/p/4065244.html

你可能感兴趣的文章
作业5 四则运算 测试与封装 5.1
查看>>
实验7
查看>>
双系统更改启动顺序
查看>>
用参数较少的函数替换参数较多的函数
查看>>
[转] Java se 7新特性研究(二)
查看>>
修改电脑hosts文件
查看>>
#TS# get/set
查看>>
移动端开发模式
查看>>
Androidの高级交互之仿微信摇一摇(真心摇一摇,而不是像网传的就那么简单的震动一下)...
查看>>
Java基础知识强化之IO流笔记39:字符流缓冲流之复制文本文件案例01
查看>>
Java基础知识强化48:Java中哈希码
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
bool
查看>>
C#中Enum用法小结
查看>>
ORA-12541:TNS:无监听程序
查看>>
QMap与QHash
查看>>
Cocos2d-x动作学习笔记 分类: cocos2d代码编写 ...
查看>>
第4章例4-12 源程序2
查看>>
Bootstrap 3 How-To #1 下载与配置
查看>>
java并发编程(10)Fork/Join
查看>>