android高德地图用地址获取经纬度,高德地图API-获取位置信息的经纬度
一、首先需要注冊成為開發者,注冊成功后就可以使用此開放平臺。
步驟如下:
1、百度搜索 高德開放平臺,進入網站。或者 輸入網址:https://lbs.amap.com/
搜索高德開放平臺
高德開發平臺首頁
2、點擊注冊成為開發者(我是個人開發,就選個人開發者,如果是企業就選企業開發者)
1-選擇開發者類型
2-注冊賬號
3-完善個人信息
4-注冊完成
直到注冊成功。
二、進入控制臺
1、進入控制臺
進入控制臺
2、在應用管理創建應用
創建展示步驟
3、創建好應用
創建好應用展示
4、點擊添加
生成key值得添加信息操作
創建應用成功后,需要添加一個key
5、生成key
紅框為高德地圖API中的key值
注:此key值是以后,請求api所用的key,一定要保存好
請求地址:
實例代碼↓↓↓↓↓↓
參數有3個 (參數city可以省略)
1、address=北京市朝陽區阜通東大街6號
2、city=北京
3、output=XML
4、key=
https://restapi.amap.com/v3/geocode/geo?address=北京市朝陽區阜通東大街6號&city=北京&output=XML&key=
接口地址-第二個紅框
localtion中逗號前面為經度,后面為緯度
由此api,把地址轉為經緯度。
三、框架中獲取到經緯度的方法
這里我用Laravel 5.8框架舉例
Guzzle-http用于發起HTTP請求
Guzzle-http鏈接: https://guzzle-cn.readthedocs.io/
1、首選在Laravel中安裝Guzzle-http插件,安裝命令↓↓↓↓↓↓
composer require guzzlehttp/guzzle
使用guzzle來發起GET請求
引入類
// 發起HTTP請求
use GuzzleHttp\Client;
2、在laravel5.8框架中,在config目錄下定義,gaode.php 配置文件,代碼如下。
return [
// 把地址轉為經緯度 %s 占位符
'geocode' => 'http://restapi.amap.com/v3/geocode/geo?key=xxxxxxxxxxxxxxxx&address=%s&city=%s'
];
3、在這里我是才用了添加信息成功后,進行地址轉換操作,后修改數據庫的經緯度字段中的內容。
經度:longitude
緯度:latitude
// 添加房源信息處理
public function store(FangRequest $request) {
// 表單數據
$dopost = $request->except(['_token', 'file']);
// 入庫
$model = Fang::create($dopost);
// 添加數據入庫成功了
// 發起HTTP請求
// 申明一個請求類,并指定請求的過期時間
$client = new Client(['timeout' => 5]);
// 得到請求地址
$url = config('gaode.geocode');
$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]
]);
}
// 跳轉
return redirect(route('admin.fang.index'))->with('success','房源信息添加成功');
}
4、入庫成功后,在數據表中看到對應地址經緯度
紅框中為經緯度更新信息
總結
以上是生活随笔為你收集整理的android高德地图用地址获取经纬度,高德地图API-获取位置信息的经纬度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP 取月度期初库存和月度期末库存(历
- 下一篇: 聊聊写代码的20个反面教材