laravel8 高德地址转经纬度

该博客介绍了如何在PHP中通过Guzzle HTTP客户端调用高德地图API进行地理编码。首先,需要在配置文件中设置高德地图的API接口和密钥,然后利用Guzzle发起GET请求,将地址转换为经纬度坐标。通过这个过程,开发者可以轻松地将地址转化为可用于地图应用的地理坐标。
摘要由CSDN通过智能技术生成

高德地图开放平台:高德开放平台 | 高德地图API

api地址:地理/逆地理编码-API文档-开发指南-Web服务 API | 高德地图API

在config目录添加一个高德接口配置文件,配置地址转换的URL,把使用占位符,飘红的位置要改成json

return [
    
    'gaodeapi'=>"https://restapi.amap.com/v3/geocode/geo?address=%s&output=json&key=%s",

];

Guzzle-http: Guzzle, PHP HTTP 客户端 — Guzzle中文文档

安装一下此插件:

composer require guzzlehttp/guzzle

使用guzzle来发起GET请求

<?php
namespace App\Http\business;

use GuzzleHttp\Client;
class Nav
{
    /**
     * 封装地图转换
     * @param $data
     * @return array
     * @throws \GuzzleHttp\Exception\GuzzleException
     */
    public static function Nav($data){
        $key="你的KEY";
        //把高德地图的API读取出来
        $api=config('powers.gaodeapi');
        //把格式化的字符串占位符替换成具体的内容
        $url=sprintf($api,$data,$key);
        //申请一个请求类,并指定请求的过期时间
        $client=new Client(['timeout'=>5]);
        //发起请求
        $response=$client->get($url);
        //获取出主要的返回值内容
        $body=(string)$response->getBody();
        //转换成数组
        $arr=json_decode($body,true);
        if (count($arr['geocodes'])>0){
            $locationArr=explode(',',$arr['geocodes'][0]['location']);
            $res=[
              'longitude'=>$locationArr[0],
              'latitude'=>$locationArr[1]
            ];
            return $res;
        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值