首先后台应根据需求获取取到省市区级的地理位置
如有需要可以看下作者之前的关于城市三级联动文章https://blog.csdn.net/that_were_you/article/details/118465630
注册获取key就不多说了,直接上干货!
use GuzzleHttp\Client;//引入
$url = "https://restapi.amap.com/v3/geocode/geo?key={你的key}&address={详细地址}";
$client = new Client(['time' => 5,]);
$res = $client->get($url);
$body = (string)$res->getBody();
$arr = json_decode($body, true);
//如果需要不拆分就不需要下面的步骤,直接入库就好
return $arr['geocodes'][0]['location']
//拆分
if ($arr['geocodes'] > 0) {
$location = explode(',', $arr['geocodes'][0]['location']);
$post['longitude'] = $location[0];
$post['latitude'] = $location[1];
}
如果是其他框架或版本 稍微改动 也可以实现
如果没有client
composer require guzzlehttp/guzzle
比较简单!
|