定位SDK的核心能力就是帮助开发者快速、精准的获取用户定位信息。开发者只需按照如下流程操作,即可获取用户当前地址。
在使用定位SDK进行具体开发工作之前,需获取密钥(AK), 并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。
请在主线程中声明LocationClient类对象,该对象初始化需传入Context类型参数。
建议在EntryAbility中使用单例模式声明LocationClient类对象,方便全局使用同一个对象。该对象初始化需传入Context类型参数。 推荐使用getApplicationConext()方法获取全进程有效的Context。
核心代码段如下:
let locClient: LocationClient | null = null;try {locClient = new LocationClient(context);} catch (Error) {}
此处请开发者注意,如果想获取地址信息,需在配置LocationClientOption类时做相应的设置。 设置方法与获取经纬度中第三步类似,核心代码如下:
let option = new LocationClientOption();option.setIsNeedAddress(true); // 可选,设置是否需要地址信息,默认不需要if (locClient != null) {locClient.setLocOption(option);}
核心代码如下:
class MyLocationListener extends BDLocationListener {onReceiveLocation(bdLocation: BDLocation): void {//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果//以下只列举部分获取地址相关的结果信息//更多结果信息获取说明,请参照类参考中BDLocation类中的说明let addr: string | null = bdLocation.getAddrStr(); //获取详细地址信息let country:string | null = bdLocation.getCountry(); //获取国家let province: string | null = bdLocation.getProvince(); //获取省份let city: string | null = bdLocation.getCity(); //获取城市let district: string | null = bdLocation.getDistrict(); //获取区县let street: string | null = bdLocation.getStreet(); //获取街道信息let adcode: string | null = bdLocation.getAdCode(); //获取adcodelet town: string | null = bdLocation.getTown(); //获取乡镇信息}
上一篇
下一篇
本篇文章对您是否有帮助?