php根据地址获取百度地图经纬度的实例方法


Posted in PHP onSeptember 03, 2019

首先我们来看全部实例代码:

/**
 * @param string $address 地址
 * @param string $city 城市名
 * @return array
 */
function getLatLng($address=‘‘,$city=‘‘)
{
 $result = array();
 $ak = ‘‘;//您的百度地图ak,可以去百度开发者中心去免费申请
 $url ="http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=".$address."&city=".$city."&ak=".$ak;
 $data = file_get_contents($url);
 $data = str_replace(‘renderOption&&renderOption(‘, ‘‘, $data);
 $data = str_replace(‘)‘, ‘‘, $data);
 $data = json_decode($data,true);
 if (!empty($data) && $data[‘status‘] == 0) {
  $result[‘lat‘] = $data[‘result‘][‘location‘][‘lat‘];
  $result[‘lng‘] = $data[‘result‘][‘location‘][‘lng‘];
  return $result;//返回经纬度结果
 }else{
  return null;
 }
 
}

扩展阅读:

官方方法总结:

/**
  * 搜索地址,查询周边的位置 ()
  */
 public function query_address($key_words){
  $header[] = 'Referer: http://lbs.qq.com/webservice_v1/guide-suggestion.html';
  $header[] = 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
  $url ="http://apis.map.qq.com/ws/place/v1/suggestion/?®ion=&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&keyword=".$key_words; 
 
  $ch = curl_init();
  //设置选项,包括URL
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
 
  //执行并获取HTML文档内容
  $output = curl_exec($ch);
   // print_r($output);die;
  //释放curl句柄
  curl_close($ch);
  // return $output;
  $result = json_decode($output,true);
   // print_r($result);
  // $res = $result['data'][0];
  return $result;
   //echo json_encode(['error_code'=>'SUCCESS','reason'=>'查询成功','result'=>$result);
 }

示例:

php根据地址获取百度地图经纬度的实例方法

返回值:有很多与参数地址相近的经纬度(一般默认取第一条数据,也就是下标是0的那条经纬度)

if(!empty($result['data'][0])){
      $address = $result['data'][0];
      // var_dump($result) ;
      sleep(0.5);
      //print_r($address);
      $lat2 = $address['location']['lat'];
      $lng2 = $address['location']['lng'];
}

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

PHP 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
PHP 编写的 25个游戏脚本
May 11 PHP
PHP输出日历表代码实例
Mar 27 PHP
php中实现获取随机数组列表的自定义函数
Apr 02 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
php集成开发环境详解
Sep 24 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 #PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 #PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
Sep 02 #PHP
PHP 文件上传限制问题
Sep 01 #PHP
laravel框架模板之公共模板、继承、包含实现方法分析
Aug 30 #PHP
php中的钩子理解及应用实例分析
Aug 30 #PHP
Yii框架分页技术实例分析
Aug 30 #PHP
You might like
PHP4实际应用经验篇(7)
2006/10/09 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
python使用PyCharm进行远程开发和调试
2017/11/02 Python
pip命令无法使用的解决方法
2018/06/12 Python
python实现自主查询实时天气
2018/06/22 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
为什么相对PHP黑python的更少
2020/06/21 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
Python如何将字符串转换为日期
2020/07/31 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
初三学生个人自我评定
2014/04/06 职场文书
市场开发计划书
2014/05/07 职场文书
护士求职信范文
2014/05/24 职场文书
理发店策划方案
2014/06/05 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
深入解析MySQL索引数据结构
2021/10/16 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL
使用Django框架创建项目
2022/06/10 Python