当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-14 09:53:12 浏览: 评论:0 

在本篇文章里小编给大家整理了关于php根据地址获取百度地图经纬度的实例方法,有需要的朋友们可以学习下。

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

  1. /** 
  2.  * @param string $address 地址 
  3.  * @param string $city 城市名 
  4.  * @return array 
  5.  */ 
  6. function getLatLng($address=‘‘,$city=‘‘) 
  7.  $result = array(); 
  8.  $ak = ‘‘;//您的百度地图ak,可以去百度开发者中心去免费申请 
  9.  $url ="http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=".$address."&city=".$city."&ak=".$ak
  10.  $data = file_get_contents($url); 
  11.  $data = str_replace(‘renderOption&&renderOption(‘, ‘‘, $data); 
  12.  $data = str_replace(‘)‘, ‘‘, $data); 
  13.  $data = json_decode($data,true); 
  14.  if (!emptyempty($data) && $data[‘status‘] == 0) { 
  15.   $result[‘lat‘] = $data[‘result‘][‘location‘][‘lat‘]; 
  16.   $result[‘lng‘] = $data[‘result‘][‘location‘][‘lng‘]; 
  17.   return $result;//返回经纬度结果 
  18.  }else
  19.   return null; 
  20.  } 
  21.    

扩展阅读:

官方方法总结:

  1. /** 
  2.   * 搜索地址,查询周边的位置 () 
  3.   */ 
  4.  public function query_address($key_words){ 
  5.   $header[] = 'Referer: http://lbs.qq.com/webservice_v1/guide-suggestion.html'
  6.   $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'
  7.   $url ="http://apis.map.qq.com/ws/place/v1/suggestion/?&region=&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&keyword=".$key_words;  
  8.    
  9.   $ch = curl_init(); 
  10.   //设置选项,包括URL 
  11.   curl_setopt($ch, CURLOPT_URL, $url); 
  12.   curl_setopt($ch,CURLOPT_HTTPHEADER,$header); 
  13.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  14.   curl_setopt($ch, CURLOPT_HEADER, 0); 
  15.    
  16.   //执行并获取HTML文档内容 
  17.   $output = curl_exec($ch); 
  18.    // print_r($output);die; 
  19.   //释放curl句柄 
  20.   curl_close($ch); 
  21.   // return $output; 
  22.   $result = json_decode($output,true); 
  23.    // print_r($result); 
  24.   // $res = $result['data'][0]; 
  25.   return $result
  26.    //echo json_encode(['error_code'=>'SUCCESS','reason'=>'查询成功','result'=>$result); 
  27.  } 

示例:

php获取百度地图经纬度

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

  1. if(!emptyempty($result['data'][0])){ 
  2.       $address = $result['data'][0]; 
  3.       // var_dump($result) ; 
  4.       sleep(0.5); 
  5.       //print_r($address); 
  6.       $lat2 = $address['location']['lat']; 
  7.       $lng2 = $address['location']['lng']; 
  8. }

Tags: php获取百度地图经纬度

分享到: