harmonynextsdk | 百度地图api sdk-凯发k8官方旗舰厅

凯发k8官方旗舰厅-凯发app官方网站
全部服务产品
开发者频道
服务升级
登录
获取经纬度
下载开发文档
简介

定位sdk的核心能力就是帮助开发者快速、精准的获取用户定位信息。开发者只需按照如下流程操作,即可获取用户当前经纬度。

1. 第一步,准备工作

在使用定位sdk进行具体开发工作之前,需, 并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。

2. 第二步,初始化locationclient类

请在主线程中声明locationclient类对象,该对象初始化需传入context类型参数。
建议在entryability中使用单例模式声明locationclient类对象,方便全局使用同一个对象。该对象初始化需传入context类型参数。 推荐使用getapplicationconext()方法获取全进程有效的context。
核心代码段如下:

let locclient: locationclient | null = null;
try {
locclient = new locationclient(context);
}catch(error){
}
3. 第三步,配置定位sdk参数

定位sdk能够返回三种坐标类型的经纬度(国内),分别是gcj02(国测局坐标)、bd09(百度墨卡托坐标)和bd09ll(百度经纬度坐标)。 如果开发者想利用定位sdk获得的经纬度直接在百度地图上标注,请选择坐标类型bd09ll。
在海外地区定位所获得的经纬度,坐标类型默认、且只能是wgs84类型。
利用locationclientoption类配置定位sdk参数。核心代码及注释说明如下:

let option = new locationclientoption();
option.setcoortype("gcj02");
// 可选,默认为gcj02
//gcj02:国测局坐标;
//bd09ll:百度经纬度坐标;
//bd09:百度墨卡托坐标;
option.settimeinterval(2);// 可选,默认1秒,设置连续定位请求的时间间隔
option.setdistanceinterval(0);// 可选,默认0米,设置连续定位的距离间隔
option.setlocationmode(locationmode.high_accuracy);//可选,默认高精度,设置定位模式,高精度、低功耗、仅设备
if(locclient != null){
locclient.setlocoption(option);
}
4. 第四步,实现bdlocationlistener接口

定位sdk对外提供了abstract类型的监听接口bdabstractlocationlistener, 用于实现定位监听。原有bdlocationlistener暂时保留,推荐开发者升级到abstract类型的新监听接口使用, 该接口会异步获取定位结果, 核心代码如下:

class mylocationlistener extends bdlocationlistener {
onreceivelocation(bdlocation: bdlocation):void{
//此处的bdlocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
//以下只列举部分获取经纬度相关(常用)的结果信息
//更多结果信息获取说明,请参照类参考中bdlocation类中的说明
let longitude: number = bdlocation.getlongitude();//获取经度信息
let latitude: number = bdlocation.getlatitude();//获取纬度信息
let radius: number = bdlocation.getradius();//获取半径信息
let coortype: string = bdlocation.getcoortype();// 获取坐标系
let loctype: string = bdlocation.getloctype();// 获取定位错误码
}

上一篇

后台定位

下一篇

获取地址

本篇文章对您是否有帮助?

网站地图