高德地图开放平台: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);
}
}