if(! function_exists('bdEncrypt'))
{//GCJ-02(火星,高德)坐标转换成BD-09(百度)坐标//@param $longitude 高德经度//@param $latitude 高德纬度function bdEncrypt($longitude,$latitude){$x_pi = 3.14159265358979324 * 3000.0 / 180.0;$x = $longitude;$y = $latitude ;$z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);$theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);$longitude = $z * cos($theta) + 0.0065;$latitude = $z * sin($theta) + 0.006;// 保留小数点后六位$data['longitude'] = round($longitude, 6);$data['latitude'] = round($latitude, 6);return $data;}
}
if(! function_exists('gdEncrypt'))
{//BD-09(百度)坐标转换成GCJ-02(火星,高德)坐标//@param $longitude 百度经度//@param $latitude 百度纬度function gdEncrypt($longitude,$latitude){$x_pi = 3.14159265358979324 * 3000.0 / 180.0;$x = $longitude - 0.0065;$y = $latitude - 0.006;$z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);$theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);$longitude = $z * cos($theta);$latitude = $z * sin($theta);$data['longitude'] = round($longitude, 6);$data['latitude'] = round($latitude, 6);return $data;}
}

PHP根据百度经纬度获取具体的地址

/*** [batchLocation description]* @param  [type] $locations [description]  经纬度* @return [type]            [description]*/public function getBatchLocation( $locations ){$api = config('setting.amap.api.geocode_regeo');//url:https://restapi.amap.com/v3/geocode/regeo$data = ['output' => 'json','location' => $locations,'radius' => 1000,'extensions' => 'all','batch' => 'true','key' => $this->key,//key值];$resp = $this->Curl->get($api, $data);//curl请求return $resp;} 实例调用:$postions  = $longitude. ',' .$latitude;  //$longitude经度 $latitude纬度
$locations = json_decode($this->getBatchLocation(implode('|', $postions)), true);
if( $locations['status'] == 1 ) {$locations = $locations['regeocodes'];$address = $locations['formatted_address'];//详细地址$street = $locations['addressComponent']['township'];//街道}

PHP根据两地经纬度计算距离

/*** 求两个已知经纬度之间的距离,单位为米* * @param lng1 $ ,lng2 经度* @param lat1 $ ,lat2 纬度* @return float 距离,单位米* @author www.Alixixi.com */public static function getDistance($lng1, $lat1, $lng2, $lat2) {// 将角度转为狐度$radLat1 = deg2rad($lat1); //deg2rad()函数将角度转换为弧度$radLat2 = deg2rad($lat2);$radLng1 = deg2rad($lng1);$radLng2 = deg2rad($lng2);$a = $radLat1 - $radLat2;$b = $radLng1 - $radLng2;$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000;return $s;}示例:$latitude = '30.624762';$longitude='104.13498';$latitude1 = '30.676048';$longitude1='104.144013';$distance   = round($this->getDistance($latitude, $longitude, $latitude1, $longitude1) / 1000, 1);/**
*方法二
*/function distance($lat1, $lon1, $lat2,$lon2,$radius = 6378.137){$rad = floatval(M_PI / 180.0);$lat1 = floatval($lat1) * $rad;$lon1 = floatval($lon1) * $rad;$lat2 = floatval($lat2) * $rad;$lon2 = floatval($lon2) * $rad;$theta = $lon2 - $lon1;$dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));if ($dist < 0 ) {$dist += M_PI;}return $dist = $dist * $radius;}
示例:$latitude = '30.624762';$longitude='104.13498';$latitude1 = '30.676048';$longitude1='104.144013';$distance   = round($this->distance($latitude, $longitude, $latitude1, $longitude1) , 1);

PHP中百度地图和高德地图经纬度互相转换相关推荐

  1. 手机php打开自带地图,android在自带的app中,调用手机自带的百度地图和高德地图去实现导航的功能...

    1.此方法不需要集成百度的sdk 高德的sdk  节省了内存 2.只需要几行代码就能实现调用百度地图或者高德地图的sdk实现导航的功能 3.代码如下 private View.OnClickListe ...

  2. android在自带的app中,调用手机自带的百度地图和高德地图去实现导航的功能

    2019独角兽企业重金招聘Python工程师标准>>> 1.此方法不需要集成百度的sdk 高德的sdk  节省了内存 2.只需要几行代码就能实现调用百度地图或者高德地图的sdk实现导 ...

  3. 高德h5地图api接口_html5通过腾讯地图、高德地图、百度地图开发api接口获取坐标对应的周边信息...

    在通过 geolocation 获取到当前的 GPS 坐标后,需要通过"逆地理位置解析"才能得到街道对应的街道.建筑物.周边等相关信息. 下面我使用国内的三家主要的地图厂商(腾讯地 ...

  4. 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息

    通过腾讯地图.高德地图.百度地图开发接口获取坐标对应的周边相关信息 更新: 以前出于好意暴露了个人的KEY,现已被烂用.为不影响您的业务,请使用我的KEY的朋友去申请自己的KEY,我的KEY将在不久后 ...

  5. 关于百度地图和高德地图,关于地图坐标系

    原文作者: 深白Andy 原文地址: http://my.eoe.cn/gueryue/archive/15390.html 众所周知地球是一个不规则椭圆体,GIS中的坐标系定义由基准面和地图投影两组 ...

  6. iOS 应用内跳转到百度地图、苹果地图、谷歌地图、高德地图等

    最近在做导航,所以把自己找到的资料总结一下! 无论是百度地图.高德地图.谷歌地图还是腾讯地图它们都有自己的SDK,我们只需要在自己的工程中导入SDK并查看相应的官方文档,基本上就可以实现导航.但是这样 ...

  7. 移动端浏览器调起百度地图、高德地图

    类似这样,点击两个按钮,分别调到各自的app客户端,没有客户端跳进移动端的web地图中. 百度地图和高德地图都提供了各自的地图调用的方法.百度api 高德api 百度的稍微麻烦一些,不过还好,我页面使 ...

  8. ios - 百度地图和高德地图坐标的区别

    一.在地图开发中,我们一般解除的三种坐标系 1.WGS-84坐标系(原始坐标系),它是国际GPS记录仪记录下来的经纬度.Google和高德地图定位的经纬度都是基于WGS-84坐标系的,但是国内是不允许 ...

  9. Android调用跳转百度地图、高德地图、腾讯地图进行目的地导航

    Android App跳转百度地图.高德地图.腾讯地图进行目的地导航. 先放上百度.高德.腾讯地图调起API文档地址,有些参数不懂可以参考. 百度地图:http://lbsyun.baidu.com/ ...

  10. Android 调起百度地图和高德地图

    目录 前言 原理 示例代码 1.百度地图 2.高德地图 前言 最近由于业务需求需要拉起百度地图和高德地图进行导航, 原理 百度和高德都给开发者提供了接口,开发者只需要调用接口传递起始坐标就可以了. 示 ...

最新文章

  1. 用notepad++怎样批量添加引号
  2. 浅论服务端应用程序开发中的CAP思想(非分布式系统中的CAP理论)
  3. C# WinForm 弹出模式窗口操作滚动条
  4. ASP.NET中Json的处理
  5. python实现新闻网站_如何用 100 行 Python 代码实现新闻爬虫?这样可算成功?
  6. Nacos源码ServiceManager
  7. 关于怎么在手机端实现一个拖拽的操作
  8. k8s pod MySQL环境变量_Kubernetes 配置Pod和容器(一)定义容器环境变量
  9. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()
  10. mysql通用日志不打印_解决logback不打印mybatis的SQL日志的问题
  11. 命令行编译和运行java
  12. P5704 【深基2.例6】字母转换(python实现)
  13. 【李宏毅2020 ML/DL】补充:Structured Learning: Introduction Structured Linear Model
  14. Flash学习资源下载列表
  15. 浏览器与WEB服务器的网络协议
  16. IN和AdaIN原理与代码实现
  17. Matlab学习手记——牛顿型信頼域法求解无约束问题
  18. 【计算机网络】网络层 : 子网划分 ( 三级 IP 地址 | 子网划分 | 子网掩码 | 子网掩码计算示例 | 子网的分组转发 )★
  19. Linux perf 1.4、hardware events
  20. 新浪微博php实习生电面

热门文章

  1. CUMT矿大----电路与数字系统实验一 一位全减器
  2. 谷歌浏览器xp32位_如何正确的配置系统的浏览器系列篇(五)——合同管理系统...
  3. 视沃科技-大牛直播SDK
  4. 大米云主机部署redis服务
  5. WPS 连接 H2 Database
  6. 《具体数学》部分习题解答2
  7. 思科交换机路由器破解密码
  8. WinMTR - 路由跟踪及PING测试软件
  9. miui 谷歌框架_小米1MIUI开发版可用的google服务框架
  10. ubuntu下android刷机,Ubuntu下android刷机教程