laravel8 使用高德地图查询经纬度(输入地名获取经纬度)

高德地图开放平台:https://lbs.amap.com/

注:需要注册成为开发者,注册成功后就可以使用此开放平台

注册成功后,登录开发放平台,进入后台

需要创建一个新的应用

 创建应用成功后,需要添加一个key

 添加key:

 得到请求的key:

 注:此key是日后请求api所用的key一定要保存好

 api地址:https://lbs.amap.com/api/webservice/guide/api/georegeo/

由此api把地址转为经纬度

实现地址转换

Guzzle-http: https://guzzle-cn.readthedocs.io/

安装一下此插件

composer require guzzlehttp/guzzle

使用guzzle来发起GET请求

引入类

注:如果出现报错,请参考这篇文档:https://www.cnblogs.com/houss/p/10992813.html 

主要代码:

<?php

namespace App\Http\Controllers;


use GuzzleHttp\Client;
use Illuminate\Http\Request;

class job13Controller extends Controller
{
    public function dataAdd(Request $request)
    {
        $data=$request->all();
       $place=$data['place'];
       //高德地图网址 https://console.amap.com/dev/index  应用管理>我的应用申请的key
       $key="***";
       //将高德地图地图的api从config配置中读取出来
        //config('gode.gaodeapi');
        //请求的地址
        $api="https://restapi.amap.com/v3/geocode/geo?address=$place&output=json&key=$key";
        //申请一个请求类并设置过期时间
        $client=new Client(['timeout'=>5]);
        //发起请求
        $response=$client->get($api);
       $body=(string)
       $response->getBody();
       //转换成数组
        $arr=json_decode($body,true);

        $location=explode(',',$arr['geocodes'][0]['location']);
        $res=[
            //经度
            'longitude'=>$location[0],
            //纬度
            'latitude'=>$location[1]
        ];
        //输出经纬度
        print_r($res);

    }
}

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值