鸿蒙使用高德获取当前定位

  getLocation =  (aMap:AMap)=>{
    // 配置连续定位参数   参数网址:https://a.amap.com/lbs-dev-yuntu/static/reference/harmonyosnext-sdk/loc/docs/interfaces/location_AMapLocationOption.AMapLocationOption.html#isOffset
    let options: AMapLocationOption = {
      priority: geoLocationManager.LocationRequestPriority.FIRST_FIX, //定位优先配置选项
      scenario: geoLocationManager.LocationRequestScenario.UNSET, //定位场景设置
      // timeInterval: 2, //定位时间间隔
      // distanceInterval: 0, //位置报告距离间隔
      maxAccuracy: 20, //定位精度 单位:米
      singleLocationTimeout: 3000, //指定单次定位超时时间
      // allowsBackgroundLocationUpdates: false, //是否允许后台定位
      locatingWithReGeocode: false, //定位是否返回逆地理信息
      reGeocodeLanguage: AMapLocationReGeocodeLanguage.Chinese, //逆地址语言类型
      isOffset: true //是否加偏
    }
    // 监听定位信息
    let listener: IAMapLocationListener = {
      onLocationChanged: async (location) => {
        this.location = location
        // todo something
        aMap?.moveCamera(CameraUpdateFactory.newLatLng(new LatLng( location.latitude, location.longitude)));
        // 当前定位渲染
        this.setLocation(aMap,location)
      }, onLocationError: (error) => {
        console.log('获取位置错误:',JSON.stringify(error))
        // todo something
      }
    };
    // 连续定位Single换成Updating
    this.locationManger?.setLocationListener(AMapLocationType.Single, listener) //设置定位信息监听
    this.locationManger?.setLocationOption(AMapLocationType.Single, options) //设置定位配置项
    this.locationManger?.requestSingleLocation() //开启单次定位
    // this.locationManger?.startUpdatingLocation() //开启连续定位
    // this.locationManger?.stopUpdatingLocation() //关闭连续定位
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值