高德地图API
1 地址转为经纬度
后台人员填写完房源详情地址后,由此地址转为,电子地图中的经纬度。从而方便日后前台在电子地 图中的标识显示。
高德地图开放平台:/
注:需要注册成为开发者,注册成功后就可以使用此开放平台
注册成功后,登录开发放平台,进入后台
需要创建一个新的应用
创建应用成功后,需要添加一个key
添加key
得到请求的key
注:此key是日后请求api所用的key一定要保存好
api地址:/api/webservice/guide/api/georegeo/ 由此api把地址转为经纬度
2 .实现地址转换
在config目录添加一个高德接口配置文件,配置地址转换的URL,把使用占位符
<?phpreturn[//把地址转为经纬度 %s 占位符'geocode' => '/v3/geocode/geo?key=93f306b50c60d4ddc69fdcf0ceb56a7b&address=%s&city=%s'];
Guzzle-http: https://guzzle-cn.readthedocs.io/
安装一下此插件
composer require guzzlehttp/guzzle
使用guzzle来发起GET请求 引入类
注:如果出现报错,请参考这篇文档:/houss/p/10992813.html 在添加房源成功后,进行地址转换操作
// 添加数据入库成功了// 发起HTTP请求// 申明一个请求类,并指定请求的过期时间$client = new Client(['timeout' => 5]);// 得到请求地址$url = config('gaode.geocode');//sprintf() 把格式化的字符串写入一个变量中$url = sprintf($url, $model->fang_addr, $model->fang_province);// 发起请求$response = $client->get($url);$body = (string)$response->getBody();$arr = json_decode($body, true);// 如果找到了对应经纬度,存入数据表中if (count($arr['geocodes']) > 0) {$locationArr = explode(',', $arr['geocodes'][0]['location']);$model->update(['longitude' => $locationArr[0],'latitude' => $locationArr[1]]);}
入库成功后,在数据表中看到对应地址经纬度
总结:
能够接入高德开放平台实现地址转换为经纬度坐标
1、注册一个高德地图开放平台2、创建一个属于自己的应用并且加一个KEY3、根据web服务器中逆向地址转为经纬度的api实现 api 4、转换的时机,添加完成房源信息后,进行的地址转换 5、修改已添加的房源信息,把经纬度修改进去
如果觉得《接入高德开放平台实现地址转换为经纬度坐标》对你有帮助,请点赞、收藏,并留下你的观点哦!