服务器之家

服务器之家 > 正文

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

时间:2021-08-16 15:40     来源/作者:随遇而安2019

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * @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;
 }
 
}

扩展阅读:

官方方法总结:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
  * 搜索地址,查询周边的位置 ()
  */
 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);
 }

示例:

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

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

?
1
2
3
4
5
6
7
8
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'];
}

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

原文链接:https://www.cnblogs.com/ai10999/p/11449476.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部