1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android高德地图用地址获取经纬度 高德地图API-获取位置信息的经纬度

android高德地图用地址获取经纬度 高德地图API-获取位置信息的经纬度

时间:2023-03-01 23:37:06

相关推荐

android高德地图用地址获取经纬度 高德地图API-获取位置信息的经纬度

一、首先需要注册成为开发者,注册成功后就可以使用此开放平台。

步骤如下:

1、百度搜索 高德开放平台,进入网站。或者 输入网址:/

搜索高德开放平台

高德开发平台首页

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=

/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' => '/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、入库成功后,在数据表中看到对应地址经纬度

红框中为经纬度更新信息

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。