百度Harmony Next 定位sdk提供基础基于Harmony Next系统定位能力。具体使用方法如下:
init() {let locClient: LocationClient | null = null;try {// 获取LocationClient实例locClient = new LocationClient(context);} catch (Error) {}let mListener: MyLocationListener = new MyLocationListener();// 注册监听函数locClient.registerListener(mListener);let option = new LocationClientOption();option.setCoorType("gcj02"); // 可选,默认为gcj02,设置返回的定位结果坐标系option.setTimeInterval(2); // 可选,默认1秒,设置连续定位请求的时间间隔option.setDistanceInterval(0); // 可选,默认0米,设置连续定位的距离间隔option.setIsNeedAddress(true); // 可选,设置是否需要地址信息,默认不需要option.setIsNeedLocationDescribe(true);//可选,默认为false,设置是否需要地址描述option.setIsNeedLocationPoiList(true);//可选,默认能为false,设置是否需要POI结果option.setLocationMode(LocationMode.High_Accuracy); //可选,默认高精度,设置定位模式,高精度、低功耗、仅设备if (locClient != null) {//需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用locClient.setLocOption(option);//启动定位locClient.start();}}class MyLocationListener extends BDLocationListener {onReceiveLocation(bdLocation: BDLocation): void {// BDLocation为封装了定位结果的接口类,可通过调用相关接口获取到定位结果// 以下展示了部分接口的获取//经度let longitude: number = bdLocation.getLongitude();//纬度let latitude: number = bdLocation.getLatitude();//精度let radius: number = bdLocation.getRadius();}}
上一篇
下一篇
本篇文章对您是否有帮助?