使用高德地图 获取经纬度
参考以下博客进行配置:
https://blog.csdn.net/guanj0623/article/details/121920636?spm=1001.2014.3001.5501
参数使用get 进行请求
https://www.cnblogs.com/xiaoyantongxue/p/16076011.html
发送的参数
$url = config('self_mention.gdurl'); // 请求的参数 $data = [ // 地址(中国上海上海奉贤区) 'address' => $detailedAddress, // 返回的json 'output' => 'JSON', // 高德地图申请的 key 'key' => config('self_mention.key') ];
public static function get($url, $param=array(), $timeout=10, $log=1) { //将参数进行合并 if (is_array($param)) { $url = $url . '?' . http_build_query($param); } $headerArray =array("Content-type:application/json;","Accept:application/json"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray); $output = curl_exec($ch); curl_close($ch); $output = json_decode($output,true); return $output; // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // 允许 cURL 函数执行的最长秒数 // $data = curl_exec($ch); // if ($log) { // $data .= "\r\n"; // $data .= self::logInfo($ch, $param, $data); // } // curl_close($ch); // $output = json_decode($data,true); //// 数据返回 // return $output; }
config参数
laravel 控制器代码
$url = config('self_mention.gdurl'); // 请求的参数 $data = [ // 地址(中国上海上海奉贤区) 'address' => $detailedAddress, // 返回的json 'output' => 'JSON', // 高德地图申请的 key 'key' => config('self_mention.key') ];
// 调用 $res = Curl::get($url, $data); // 获取地址的经纬度 $location = $res['geocodes'][0]['location']; print_r($location); // 将经纬度分割:121.474042,30.917795 $result = explode(',', $location); // 经度 $lng = $result[0]; //纬度 $lat = $result[1];