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

 更新时间:2019年09月03日 08:28:48   作者:随遇而安2019  
在本篇文章里小编给大家整理了关于php根据地址获取百度地图经纬度的实例方法,有需要的朋友们可以学习下。

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

/**
 * @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/?&region=&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);
 }

示例:

返回值:有很多与参数地址相近的经纬度(一般默认取第一条数据,也就是下标是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'];
}

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

相关文章

  • laravel开发中跨域的解决方案

    laravel开发中跨域的解决方案

    最近在开发中遇到了跨域的需求,通过查找相关资料找到了相关的解决方法了,所以下面这篇文章主要给大家介绍了关于laravel开发中跨域的解决方案,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • yii2实现分页,带搜索的分页功能示例

    yii2实现分页,带搜索的分页功能示例

    本篇文章主要介绍了yii2实现分页,带搜索的分页功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • ThinkPHP后台首页index使用frameset时的注意事项分析

    ThinkPHP后台首页index使用frameset时的注意事项分析

    这篇文章主要介绍了ThinkPHP后台首页index使用frameset时的注意事项,需要的朋友可以参考下
    2014-08-08
  • Laravel jwt 多表(多用户端)验证隔离的实现

    Laravel jwt 多表(多用户端)验证隔离的实现

    这篇文章主要介绍了Laravel jwt 多表(多用户端)验证隔离的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • PHP图像处理类库及演示分享

    PHP图像处理类库及演示分享

    近期需要做一些图像处理方面的学习和研究,首要任务就是选择一套合适的图像处理类库。于是参考其他类库自己编写了一个简单的,仅仅实现了指定文字内容创建图片(不支持中文)、创建验证码图片、创建缩略图,有需要的小伙伴可以参考下。
    2015-05-05
  • thinkPHP5框架中widget的功能与用法详解

    thinkPHP5框架中widget的功能与用法详解

    这篇文章主要介绍了thinkPHP5框架中widget的功能与用法,结合实例形式分析了thinkPHP5中Widget相关概念、使用方法及操作注意事项,需要的朋友可以参考下
    2018-06-06
  • CI(CodeIgniter)简单统计访问人数实现方法

    CI(CodeIgniter)简单统计访问人数实现方法

    这篇文章主要介绍了CI(CodeIgniter)简单统计访问人数实现方法,这里使用TXT文本文件简单演示了CodeIgniter框架记录访问人数的实现技巧,需要的朋友可以参考下
    2016-01-01
  • 基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解

    基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解

    本篇文章是对AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 推荐几个开源的微信开发项目

    推荐几个开源的微信开发项目

    这篇文章主要推荐几个开源的微信开发项目,需要的朋友可以参考下
    2014-12-12
  • PHP实现伪静态方法汇总

    PHP实现伪静态方法汇总

    PHP伪静态的使用主要是为了隐藏传递的参数名,下面给大家介绍php实现伪静态的方法,对php实现伪静态相关知识感兴趣的朋友一起学习吧
    2016-01-01

最新评论