高德地图开放平台:高德开放平台 | 高德地图API
api地址:地理/逆地理编码-API文档-开发指南-Web服务 API | 高德地图API
在config目录添加一个高德接口配置文件,配置地址转换的URL,把使用占位符,飘红的位置要改成json
在config
里封装
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;
}
}
}