首页 > 其他分享 >鸿蒙开发中获取定位信息

鸿蒙开发中获取定位信息

时间:2024-09-13 10:20:49浏览次数:3  
标签:定位 err 鸿蒙 获取 location error message geoLocationManager 弹窗

使用LocationButton位置控件,首次点击应用中的位置控件,系统将弹窗请求用户授权,如果用户点取消,弹窗消失,应用无授权,用户再次点击位置控件时将会重新弹窗;用户点击允许,弹窗消失,应用将被授予临时位置权限,此后点击该应用的位置控件将不会弹窗。精准定位的临时授权会持续到灭屏、应用切后台、应用退出等任一情况发生,然后恢复到临时授权之前的授权状态。

核心步骤:1.整合LocationButton获取经纬度。2.通过Location kit将经纬度转为地址信息。3.将地址渲染到页面上。4.如果未开启定位将会闪退,处理闪退情况,用try catch。

 LocationButton({
                icon: LocationIconStyle.LINES
              })
                .backgroundColor(Color.White)
                .iconColor(Color.Blue)
                .onClick((event: ClickEvent, result: LocationButtonOnClickResult) => {
                  if (result === LocationButtonOnClickResult.SUCCESS) {
                    try {
                      // 免去权限申请和权限请求等环节,获得临时授权,获取位置信息授权
                      const requestInfo: geoLocationManager.LocationRequest = {
                        'priority': geoLocationManager.LocationRequestPriority.FIRST_FIX,
                        'scenario': geoLocationManager.LocationRequestScenario.UNSET,
                        'timeInterval': 1,
                        'distanceInterval': 0,
                        'maxAccuracy': 0
                      };
                      geoLocationManager.getCurrentLocation(requestInfo)
                        .then((location: geoLocationManager.Location) => {
                          // promptAction.showToast({ message: JSON.stringify(location) });
                          const latitude = location.latitude
                          const longitude = location.longitude
                          let reverseGeocodeRequest: geoLocationManager.ReverseGeoCodeRequest =
                            { latitude, longitude, "maxItems": 1 };
                          try {
                            geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest)
                              .then((data) => {
                                // Logger.info('getAddressesFromLocation: ' + JSON.stringify(data));
                                this.addForm.address = data[0].placeName!
                              })
                              .catch((error: BusinessError) => {
                                Logger.error('promise, getAddressesFromLocation: error=' + JSON.stringify(error));
                              });
                          } catch (err) {
                            console.error("errCode:" + JSON.stringify(err));
                          }
                        })
                        .catch((err: BusinessError) => {
                          console.error(`Failed to get current location. Code is ${err.code}, message is ${err.message}`);
                        });
                    } catch (e) {
                      if (e.code === '3301100') {
                        promptAction.showToast({
                          message: '请开启定位开关~'
                        })
                      }
                    }

                  } else {
                    promptAction.showToast({ message: '获取位置信息失败!' })
                  }
                })

标签:定位,err,鸿蒙,获取,location,error,message,geoLocationManager,弹窗
From: https://blog.csdn.net/LexinZong/article/details/142203911

相关文章

  • pbootcms授权码怎么获取
    获取PbootCMS授权码的过程相对简单,以下是详细的步骤:1.上传源码将PbootCMS的源码上传到你的服务器,并通过域名访问你的网站。2.访问授权页面当你首次访问网站时,如果没有授权码,系统会提示你进行授权。3.获取授权码访问授权页面:根据提示,前往PbootCMS官方网站的授......
  • 未匹配到本域名()有效授权码,请到pbootcms官网获取
    对于新手第一次使用PbootCMS时,可能会遇到“未匹配到本域名()有效授权码”的提示。这是因为域名未授权导致的。即使是本地测试站也需要授权,除非是通过IP地址访问。以下是详细的填写授权码的步骤:步骤详解进入网站后台:在域名后面加上 admin.php 来访问后台,默认的后台入口......
  • Pbootcms中文域名获取授权码方法
    当使用PbootCMS搭建的网站包含中文域名后缀时,官方授权码可能会提示“域名格式有误”。这是因为PbootCMS的授权系统默认只支持英文域名后缀。可以通过将中文域名转码为URL编码的形式来解决这一问题。解决方法中文域名转码访问转码工具:访问中文域名转码工具网站:https......
  • WPF 已知问题 开启 WM_Pointer 消息之后 获取副屏触摸数据坐标偏移
    本文记录WPF触摸的一个已知问题,仅在开启WM_Pointer消息之后,将应用程序运行在包含多个屏幕的带触摸屏的设备上,如此时在非主屏幕的触摸屏上进行触摸,使用GetStylusPoint或GetIntermediateTouchPoints方法获取触摸点时,将会发现所获取的触摸点的坐标是偏的,偏的坐标差值刚好是整......
  • 八大服务商获鸿蒙先锋授牌,以创新开启政务服务新篇章
    3月27日,以“分享鸿蒙技术特性,交流鸿蒙生态共建”为主题的HDD·行业沙龙在北京成功举行。本场沙龙专为政务服务行业伙伴打造,旨在分享最新的HarmonyOS系统级技术能力以及鸿蒙生态政务服务行业创新解决方案。活动现场聚集了30余家行业内优秀的软件服务商到场参会,其中八家软件服务商......
  • 获取天猫商品评论API数据:商品质量、服务态度等多维度评价分析
    天猫作为中国主要的电商平台之一,提供了丰富的API接口供开发者使用,以便能够获取商品信息、订单数据、物流信息等。然而,直接访问用户评论的详细数据(如商品质量、服务态度等多维度评价)的API可能受到隐私和商业机密的保护,并不直接对外开放给普通开发者或普通商家。尽管如此,有几种......
  • 如何获取并展示PDD商品的详细信息?
    PDD作为国内的一家知名电商平台,拥有着庞大的商品数量和用户数量。对于开发者们来说,如何快速高效地获取并展示PDD平台上的商品详情就成了一项必要的技术工作。本文将介绍PDD商品详情的获取以及应用。一、商品详情的获取通过使用提供的API接口,可以轻松地获取到平台上任意商品......
  • java+opencv4来获取图像中轮廓的最小外接矩形
     举例:获取以下图片中的火车的最小外接矩形完成钱确认opencv的环境配置完整。要想查找图片中的轮廓信息,首先要获取图片的二制图,因为二制图的查找效率更高,具体原因自行百度。为了提高转换二制图的效率可以现将图片转换为灰度图。示例代码如下://将彩色图像转换为灰度图像M......
  • 前端在鸿蒙开发中的角色
        随着鸿蒙操作系统(HarmonyOS)的推广和应用,前端开发在其生态系统中发挥了越来越重要的作用。鸿蒙系统强调跨设备、全场景协作,前端开发者不仅可以参与鸿蒙移动端应用的开发,还可以通过新的开发框架和技术栈构建智能设备、IoT系统和跨设备应用界面。以下将探讨前端开发者如何......
  • 学习资料获取&技术交流&面试辅导&大厂内推【看我下方文章底部名片】
    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份全套学习资料,初衷也很简单,就是希望能够帮助到想自学提升又不知......