使用高德地图 获取经纬度

参考以下博客进行配置:

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];

 

posted @ 2022-03-30 14:30  王越666  阅读(1461)  评论(0编辑  收藏  举报