定位sdk的核心能力就是帮助开发者快速、精准的获取用户定位信息。开发者只需按照如下流程操作,即可获取用户当前位置周边poi。
在使用定位sdk进行具体开发工作之前,需, 并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。
请在主线程中声明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.setisneedlocationpoilist(true);//可选,默认为false,设置是否需要poi结果if(locclient != null){locclient.setlocoption(option);}
核心代码如下:
class mylocationlistener extends bdlocationlistener {onreceivelocation(bdlocation: bdlocation):void{//此处的bdlocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果//以下只列举部分获取周边poi信息相关的结果//更多结果信息获取说明,请参照类参考中bdlocation类中的说明let poi: poi | undefined = bdlocation.getpoilist().pop();if(poi){let poiname: string = poi.getname();//获取poi名称let poitags: string = poi.gettags();//获取poi类型let poiaddr: string = poi.getaddr();//获取poi地址 //获取周边poi信息}let poiregion: poiregion | null = bdlocation.getpoiregion();if(poiregion != null){let poidirectiondesc: string = poiregion.getdirectiondesc();//获取poiregion位置关系let poiregionname: string = poiregion.getname();//获取poiregion名称let poitags: string = poiregion.gettags();//获取poiregion类型}}
上一篇
下一篇
本篇文章对您是否有帮助?