https://console.amap.com/dev/key/app
//这个是高德开发者中心的网址
直接上干货:
//在控制台我的应用创建一个应用得到秘钥
//建表
composer require guzzlehttp/guzzle
//下载高德的脚本
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="adds" method="post">
@csrf
<tr>
<td>请输入城市</td>
<td><input type="text" name="fang_addr"></td>
</tr>
<tr>
<td><input type="submit"></td>
</tr>
</form>
</body>
</html>
//表单
use GuzzleHttp\Client;
//在控制器中引入类
$data = \request()->post();
unset($data['_token']);
$modder = modellers::create($data);
$url = "https://restapi.amap.com/v3/geocode/geo?key=03a4d7bdbd0e729398803d0fe2c1492d&address=%s&city=%s";
$url = sprintf($url,$modder->fang_addr,$modder->fang_addr);
//dd($url);
$data = file_get_contents($url);
//dd($data);
//file_get_contents是拉进第三方数据的
$data = json_decode($data,true);
//dd($data);
if(count($data['geocodes'])>0)
{
$locationArr = explode(',',$data['geocodes'][0]['location']);
$modder ->update([
'longitude'=>$locationArr[0],
'latitude'=>$locationArr[1]
]);
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class modellers extends Model
{
use HasFactory;
public $table ='bj';
protected $guarded =[];
}
//模型层
//思路:先将数据添加入库之后,引入高德的脚本,获取经纬度,将经纬度修改入库(别忘了写路由哦)