华为手表开发:WATCH 3 Pro(8)获取位置服务

news/2024/7/21 8:48:38 标签: 华为, harmonyos, 前端, 鸿蒙

华为手表开发:WATCH 3 Pro(8)获取位置服务

  • 环境与设备
      • 文件夹:
      • 文件
      • 新增第二页面
        • geolocation.hml
        • geolocation.js
      • 修改首页 -> 新建按钮 “ 跳转 ”
        • index.hml
        • index.js 引用包:'@system.router'
      • 首页效果
      • 点击结果按钮跳转后 :
      • 手表上的展示结果
      • 遇到报错

希望能写一些简单的教程和案例分享给需要的人

鸿蒙可穿戴开发

环境与设备

系统:window
设备:HUAWEI WATCH 3 Pro
开发工具:DevEco Studio 3.0.0.800

鸿蒙开发

文件夹:

entry:项目文件夹
js前端文件夹
pages:页面文件夹
index:首页文件夹

文件

index.css:首页样式
index.hml:首页
index.js:首页脚本

新增第二页面

操作步骤:

首先在pages鼠标右击;

点击New----第二栏菜单点击Js Page

在文本框中输入页面名称(geolocation)名称可以自己拟定

点击弹框右下角Finsin按钮完成页面创建

需要引用包

import geolocation from ‘@system.geolocation’;

代码如下:

geolocation.hml

<div class="container">
    <text class="title">
        位置 {{ latitude }},{{ longitude }}
    </text>
</div>

geolocation.js


import geolocation from '@system.geolocation';

export default {
    data: {
        latitude: '...',
        longitude: '...'
    },
    onInit() {
        console.info("dao_logger::定位获取");
        geolocation.subscribe({
            success: (data) => {
                console.info('dao_logger::位置订阅更新' + data.latitude + ',' + data.longitude)
                this.latitude = data.latitude;
                this.longitude = data.longitude;
            },
            fail: function (data, code) {
                console.info('dao_logger:: fail to get location. code:' + code + ', data:' + data);
            },
        });
    }
}


修改首页 -> 新建按钮 “ 跳转 ”

index.hml

在HTML文件“index.hml”,添加按钮,这里按钮用到是<input>标签

标签属性:

type=“button”【规定 input 元素的类型】

<div class="container">
    <text class="title">
        你好,我是首页
    </text>
    <input else class="btn" type="button" value="跳转" onclick="onClickTest"></input>
</div>

index.js 引用包:‘@system.router’

onInit() : 进入页面初始化运行的方法

onClickTest () :按钮点击后触发的方法,我们将跳转页面的代码写在这个位置就可以实现点击按钮进行跳转页面的动作


import router from '@system.router';

export default {
    data: {
        title: ""
    },
    onInit() {
        this.title = this.$t('strings.world');
    },
    onClickTest() {
        router.push({
            uri: "pages/geolocation/geolocation",
        });
    }
}


首页效果

在这里插入图片描述

点击结果按钮跳转后 :

点击按钮后,最新日志显示获取到的定位

在这里插入图片描述

手表上的展示结果

手表显示获取到的位置信息

在这里插入图片描述

在这里插入图片描述

遇到报错

遇到报错 fail to get location. code:601, data:user rejects the perssion request ,是因为没有加入权限,如下图报错日志中显示的

在这里插入图片描述

我们在 config.json 里面加入权限,如下图所示:

    "reqPermissions": [
      {
        "name": "ohos.permission.LOCATION"
      },
      {
        "name": "ohos.permission.MEDIA_LOCATION"
      }
    ]

在这里插入图片描述


http://www.niftyadmin.cn/n/77575.html

相关文章

huggingface

HuggingFace - 简明教程_huggingface使用教程_伊织code的博客-CSDN博客 BERT中的Tokenizer说明_xuanningmeng的博客-CSDN博客_berttokenizer HuggingFace简明教程_weixin_44748589的博客-CSDN博客_huggingface from transformers import BertTokenizer# 加载预训练字典和分词…

Jvm -堆对象的划分

堆对于一个jvm进程来说是唯一的&#xff0c;一个进程只有一个jvm&#xff0c;但是进程半酣多个线程&#xff0c;多个线程共享一个堆。 也就是说&#xff0c;一个jvm实例只存在一个堆&#xff0c;同时对也是Java内存管理的核心区域。 Java堆区域的大小在jvm启动时就已经被确定…

明美新能在创业板IPO过会:计划募资4.5亿元,2022年营收约39亿元

2月17日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;广州明美新能源股份有限公司&#xff08;下称“明美新能”&#xff09;获得上市委会议审议通过。本次冲刺上市&#xff0c;明美新能计划募资4.50亿元&#xff0c;德邦证券为其保荐机构。 据介绍&#xff0c;明美新…

【Bluetooth开发】蓝牙开发入门

BLE 蓝牙设备在生活中无处不在&#xff0c;但是我们也只是将其作为蓝牙模块进行使用&#xff0c;发送简单的AT命令实现数据收发。 那么&#xff0c;像对于一些复杂的使用场合&#xff1a;“车载蓝牙”、"智能手表"、“蓝牙音箱”等&#xff0c;我们不得不去了解底层…

链表学习基础

链表 通过指针串联在一起的线性结构&#xff0c;每个节点由数据域和指针域两部分组成。链表节点在内存中的存储通常不是连续的&#xff0c;各节点通过指针连接在一起&#xff0c;其内存分布大致如下图所示。 定义 单链表 struct ListNode {// DATATYPE 可以是任意存放数据的…

剑指 Offer 53 - II. 0~n-1中缺失的数字

原题链接 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 一个长度为n-1的递增排序数组中的所有数字都是唯一的&#xff0c;并且每个数字都在范围0&#xff5e;n-1之内。在范围0&#xff5e;n-1内的n个数字中有且只有一个数字不在该数组中&#xff0c;请找出这个数字…

中外互免签证协定一览表(普通护照与公务普通护照)

普通护照&#xff1a;由公安部出入境管理机构或者公安部委托的县级以上地方人民政府公安机关出入境管理机构以及中华人民共和国驻外使馆、领馆和外交部委托的其他驻外机构签发&#xff0c;主要颁发给出国定居、探亲、访友、继承财产、留学、就业、旅游等因私事出国的中国公民。…

Python 为什么要 if __name__ == “__main__“:

各位读者&#xff0c;你们知道以下两个Python文件有什么区别吗&#xff1f; main1.py def main():output Helloprint(output)if __name__ "__main__":main()main2.py output Hello print(output)当我们直接运行 main1.py 与 main2.py 的时候&#xff0c;程序都…