当前位置:编程学习 > > 正文

php实现导航地图(php根据地址获取百度地图经纬度的实例方法)

时间:2021-11-05 14:42:26类别:编程学习

php实现导航地图

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

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

  • ?
  • 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实现导航地图(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

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐