请自行到百度地图官网申请您的ak

<!--前端获取手机经纬度的代码-->

<!--<!DOCTYPE html>-->

<!--<html lang="en">-->

<!---->

<!--<head>-->

<!-- <meta charset="UTF-8">-->

<!-- <title>text</title>-->

<!-- <script>-->

<!-- function getLocation() {-->

<!-- if (navigator.geolocation) {-->

<!-- navigator.geolocation.getCurrentPosition(showMap,errorMap);-->

<!-- } else {-->

<!-- alert("您的浏览器不支持")-->

<!-- }-->

<!---->

<!-- }-->

<!-- function showMap(position){-->

<!-- var longitude = position.coords.longitude;-->

<!-- var latitude = position.coords.latitude;-->

<!-- alert("您的位置是:"+longitude+ "," + latitude);-->

<!--}-->

<!--function errorMap(value){-->

<!-- switch(value.code){-->

<!-- case 1: alert("位置请求被拒绝");break;-->

<!-- case 2: alert("暂时获取不到位置信息");break;-->

<!-- case 3: alert("请求超时");break;-->

<!-- case 4: alert("未知错误");break;-->

<!-- }-->

<!-- }-->

<!-- -->

<!--getLocation();-->

<!--</script>-->

<!---->

<!--</head>-->

<!--</html>-->

<?php

/**

* 计算两个地址之间的距离,单位:米

* 地址要尽量详细,减小误差

* @param address

* @param $param

* @return $param

*/

function calculateDistance($address,$param){

if (!is_array($param)){

throw new Exception("参数必须为array");

}

$length = count($param);

$url = urldecode("http://api.map.baidu.com/cloudgc/v1?ak=您的ak&address=".$address);

$result = json_decode(get($url));

$startLatLng = array(

"lat" => $result->result[0]->location->lat,

"lng" => $result->result[0]->location->lng

);

for ($i=0; $i<$length; $i++){

$url = urldecode("http://api.map.baidu.com/cloudgc/v1?ak=您的ak&address=".$param[$i]['address']);

$result = json_decode(get($url));

$endLatLng = array(

"lat" => $result->result[0]->location->lat,

"lng" => $result->result[0]->location->lng

);

$distance = array( "distance"=>getDistance($startLatLng,$endLatLng),"unit"=>"m");

array_push($param[$i],$distance);

}

return $param;

}

// $add = array(

// array("address"=>"福建省厦门市集美区"),

// array("address"=>"北京市海淀区上地十街10号")

// );

// print_r(calculateDistance("福建省厦门市集美区",$add)); /**

* 发送GET请求

* @param url

* @param param

* @return result

*/

function get($url, $param=array()){

if(!is_array($param)){

throw new Exception("参数必须为array");

}

$p='';

foreach($param as $key => $value){

$p=$p.$key.'='.$value.'&';

}

if(preg_match('/\?[\d\D]+/',$url)){//matched ?c

$p='&'.$p;

}else if(preg_match('/\?$/',$url)){//matched ?$

$p=$p;

}else{

$p='?'.$p;

}

$p=preg_replace('/&$/','',$p);

$url=$url.$p;

//echo $url;

$http =curl_init($url);

curl_setopt($http, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($http, CURLOPT_SSL_VERIFYHOST, 2);

curl_setopt($http,CURLOPT_RETURNTRANSFER,1);

curl_setopt($http, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");

curl_setopt($http, CURLOPT_RETURNTRANSFER,1);

curl_setopt($http, CURLOPT_HEADER,false);

$result=curl_exec($http);

curl_close($http);

return $result;

}

/**

* 计算两点之间距离

* @param start

* @param end

* @return 米

*/

function getDistance($startLatLng,$endLatLng){

if (is_array($startLatLng)&&is_array($endLatLng)){

$lat1 = (pi()/180)*$startLatLng['lat'];

$lat2 = (pi()/180)*$endLatLng['lat'];

$lng1 = (pi()/180)*$startLatLng['lng'];

$lng2 = (pi()/180)*$endLatLng['lng'];

//地球半径

$R = 6371;

//两点间的距离 km,如果想要米的话,结果*1000就可以了

$d = acos(sin($lat1)*sin($lat2)+cos($lat1)*cos($lat2)*cos($lng2-$lng1))*$R;

}else{

$d = 1;

}

return $d*1000;

}

/**

* 通过ip获取地址

* @param $ip

* @throws Exception

* @return $result

*/

function getAddressByIp($ip){

if (!filter_var($ip,FILTER_VALIDATE_IP)){

throw new Exception("IP无效");

}

$url = "http://api.map.baidu.com/location/ip?ak=您的ak&coor=bd09ll&ip=".$ip;

$result = json_decode(get($url));

if ($result->status != 0){

throw new Exception("获取坐标失败");

}

$url = "http://api.map.baidu.com/geocoder/v2/?location=".$result->content->point->y.",".$result->content->point->x."&ak=您的ak&output=json";

$result= json_decode(get($url));

echo $result->result->formatted_address;

return $result->result->formatted_address;

} //getAddressByIp("120.41.85.225");/**

* 通过GPS定位拿到具体位置,电脑只有IE、edge才有定位权限

* @param $latLng=array('lat'=>?,'lng'=>?)

* @return $result->result->formatted_address

*/

function getAddressByGPS($latLng)

{

$url = "http://api.map.baidu.com/geocoder/v2/?location=" .$latLng['lat'].",".$latLng['lng']. "&ak=您的ak&output=json";

$result = json_decode(get($url));

return $result->result->formatted_address;

}

$latLng = array(

'lat'=>24.609098,

'lng'=>118.045559

);

echo getAddressByGPS($latLng);

iOS 百度地图计算两个点时间的距离

最近在解项目bug,更新地位城市的时候有个错误,后来想在位置改变多少距离之后,再取更新位置,这个功能去年做过.但是又忘记了! 所以还是记录一下吧. 百度地图提供了一个方法: BMKMapPointFo ...

JS高德地图计算两地之间的实际距离

这个是通过导航的方式来获取两地之间的实际距离,和消耗的时间(key值自己去申请哈)

百度地图坐标之间的距离php

function GetDistance($lat1, $lng1, $lat2, $lng2){ define('PI',3.1415926535898); define('EARTH_RADIUS ...

百度地图 - demo

项目需要集成百度地图,那么关于如何集成百度地图的事,就自己去百度开放平台查看文档吧,这是非常简单的事,在这里就不多说了. 那么下面我就说说我在这个demo里所做的事. 首先,项目需要具备定位及计算两地 ...

Java根据两点的经纬度来计算之间的距离

import java.util.HashMap; import java.util.Map; public class MapDistance { private static double EAR ...

百度地图api 实例 自动提示 并计算两地的行驶距离

百度地图api 实例 自动提示 并计算两地的行驶距离

百度地图Api 根据两个坐标点计算距离

百度地图Android Sdk的Api里面,没有现成的直接获取两个坐标点之间距离的方法,但是,在jsapi里面,有直接计算距离的方法. class Point: pass def max(a,b): ...

【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离

原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...

Java-根据经纬度计算距离(百度地图距离)

最近碰到一个需求,需要根据两个点的经纬度查询两点的距离.感觉以后还会用到,所以小记一波. 第一步:添加Maven依赖. org.ga ...

随机推荐

我们为什么使用Node

引言:Node 已经迅速成为一个可行并且真正高效的web 开发平台.在Node 诞生之前,在服务端运行JavasScript 是件不可思议的事情,并且对其他的脚本语言来说,要实现非阻塞I/O 通常需要 ...

Github的基本配置与使用

第一步:尝试创建SSH key ssh-keygen -t rsa -C xxxxx@gmail.com 默认在~/.ssh目录生成id_rsa与id_rsa.pub. -t代表密钥类型,常见的类型有 ...

如何在 &period;Net Framework 4&period;0 项目上使用 OData?

最新的 Microsoft ASP.NET Web API 2.1 OData 5.1.0 已只能在 .Net Framework 4.5 的安装了,如果要在 VS2010的 .Net Framewo ...

支持BLOB操作的Jena框架扩展——JenaBLOB

与研究语义网的同行们分享一下上半年做的一个东西,它是支持BLOB操作的Jena框架扩展--JenaBLOB,已在GitHub上开源,欢迎提出宝贵意见! 众所周知,Jena是不支持BLOB类型的Lite ...

在CentOS上部署多节点Citus集群

1 在所有节点执行以下步骤 Step 01 添加Citus Repostory # Add Citus repository for package manager curl https://inst ...

Java初学者应该注意的学习问题

作为初学者,在刚开始学习的时候,一定会走很多弯路.但其实很多弯路是不必走的,会浪费很多时间,导致学习效率大打折扣.今天小编给大家讲述一下,作为一个Java初学者,在开始学习的时候应该注意的问题,应该从 ...

ECharts常用设置记录

一.配置文档 http://echarts.baidu.com/option.html#title 二.属性配置 1.图表与边框容器距离. grid: { top: '10%', left: '70' ...

Oracle的基本查询知识

基本语法 SELECT [DISTINCT] {*, column [alias],...} FROM table;参数说明SELECT 标识出所需的数据列.函数.常量和表达式.Distinct 删除 ...

C&plus;&plus; 作业 (循环链表构建队列)

/* author screen name Andromeda_Galaxy; chinese name 杨子俊 */ #include using name ...

在AbpZero中hangfire后台作业的使用——开启hangfire

AbpZero框架已经集成了hangfire,但它默认是关闭的,我们可以在运行站点下的Startup.cs文件中把这行代码注释取消就行了,代码如下:     //Hangfire (Enable to ...

php地图距离计算,php百度地图计算两地现实距离相关推荐

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

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

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

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

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

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

  4. 被高德地图追上,百度地图该怎么继续保持霸主之位

    曾经,在那个没有电子地图或电子地图还没有普及的时代,人们出行要么靠四处问人,要么靠纸质地图.不知道有多少人经历过那种场景:走出火车站的时候,第一个向你迎上来的是那些卖纸质地图的大妈.那个时候要出远门的 ...

  5. 一行CSS样式去除百度地图版权,去除百度地图右上角平移缩放控件的市县区文字

    /*去除百度地图版权,去除百度地图右上角平移缩放控件的市县区文字*/ .anchorBL, .BMap_zlHolder {display: none;visibility: hidden;}

  6. Python地理地图可视化:folium把百度地图中国城市中心经纬度解析出来并在地图上展示(三)

    python地理地图可视化:folium把百度地图各个城市经纬度解析出来并在地图上展示(三) 上一篇(https://zhangphil.blog.csdn.net/article/details/1 ...

  7. android 高德地图移动卡顿_高德地图4.8和百度地图3.1的抉择,如何发送地址到车机(下载失效本帖奉上百度云盘)...

    9月已经过去半个月了,升级一直围绕着领克车友,8月的兴奋,总想知道车机有什么改变,很多车友提前去预约,总想尝第一口鲜,这个第一口可不好喝,头啖汤随好,但会烫口,于是我带着观望的态度,因为我始终觉得,安 ...

  8. vue中使用echarts结合百度地图制作地图(引入百度地图、获取百度地图实例、设置百度地图)

    1.初始化echarts以及例子可以看管网的 地址:https://echarts.apache.org/examples/zh/editor.html?c=map-polygon 2说下我遇到的问题 ...

  9. 百度地图集成(一):百度地图简单实现

    百度地图集成概要 百度地图集成(一):百度地图简单实现 百度地图集成(二):百度定位以及反编译地理位置 百度地图集成(三):检索功能的实现 百度地图集成(四):零散 百度地图集成第一篇: 百度地图简单 ...

  10. 百度地图API制作类似 百度地图的路线导航界面并实现简单的路线规划功能

    之前我们讲了怎么在百度地图上设置Marker(如A点..) 和弹出框(跟随Marker的,Marker移动的时候也是会跟着移动的),接着又觉得百度地图自带的放大缩小不(fei)是(chang)很(de ...

最新文章

  1. 基于OpenCV的区域分割、轮廓检测和阈值处理
  2. 第十五届全国大学生智能汽车竞赛赛道拼装图
  3. /proc/mtd 各参数的含义 -- linux内核
  4. 从另一个分支在Git中创建一个分支
  5. 谷歌启动AlphaFold商业化:成立新公司,专注AI新药开发技术
  6. CUBA Platform 7.0.4 发布,企业级应用开发平台
  7. java更新无法正常安装_Java无法安装
  8. 使用XMANAGER 联接LINUX 后使用SQLPLUS 不能使用BACKSPACE 回格键.
  9. 耿美玉起诉饶毅名誉侵权,法院判了!驳回请求,但对饶毅方也应给予批评
  10. 使用C语言--编写人机猜数游戏
  11. solr 高并发_预防帕金森病的运动并发症,比治疗更重要!
  12. 动机的寓言:孩子为谁在玩
  13. 知识图谱够火,但底层技术环节还差点火候 | AI 技术生态论
  14. 如何从业务和平台两方面入手,设计更具可靠性的微服务?
  15. 光纤光信号闪红灯_光纤猫光信号闪红灯
  16. cad插入块_怎么才能将两张CAD图纸合并为一张?
  17. 华为防火墙默认密码是什么?
  18. 在web中打开SVG格式文件
  19. 如何计算给定二叉树中的叶节点数?
  20. 神奇的口袋——Java

热门文章

  1. 金蝶应收应付模块流程_金蝶专业版应收应付管理
  2. MP地面站二次开发教程(五)简易地面站多机控制系统框架
  3. 大二计算机跟老师做项目,在大学里,要不要和老师一起合作做项目?过来人说出实情...
  4. 计算机系统中设置保护系统还原,如何对电脑进行系统还原
  5. 新一代视频压缩技术 H.265 解析
  6. oracle如何exp远程备份,oracle exp远程数据库
  7. 经典力学中最难的问题,至今没有答案
  8. Source Insight主题美化插件
  9. 专科毕业生该何去何从?
  10. 数学中学生测试软件,欧拉初中数学软件