当前位置: 首页 > news >正文

将华为地图套件集成到HarmonyOs可穿戴设备应用中

介绍

在本文中,我们将了解 HarmonyOs 中的华为地图套件。地图工具包是用于地图开发的 SDK。覆盖200多个国家和地区的地图数据,支持70多种语言。使用此 SDK,您可以轻松地将基于地图的功能集成到您的 HarmonyOs 应用程序中。

在这里插入图片描述

在这里插入图片描述

开发概述

需要安装 DevEcho 工作室 IDE,我假设您事先了解 HarmonyOs 和 Java。

硬件要求

运行 Win 10 的计算机(台式机或笔记本电脑)。
HarmonyOs 智能手表(带USB电缆),用于调试。

软件要求

Java JDK 安装包。
已安装 DevEcho Studio。

步骤:

步骤 1:创建 HarmonyOs 应用程序。

在这里插入图片描述
在这里插入图片描述

步骤 2:在 AppGallery 中创建项目

步骤 3:在应用程序网格中配置应用程序

步骤 4:按照 SDK 集成步骤操作

让我们开始编码

MapAbilitySlice.java

public class MapAbilitySlice extends AbilitySlice {
private static final HiLogLabel LABEL_LOG = new HiLogLabel(3, 0xD001100, "TAG");
private MapView mMapView;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
CommonContext.setContext(this);

声明和初始化华为地图选项对象

HuaweiMapOptions huaweiMapOptions = new HuaweiMapOptions();

初始化相机属性

CameraPosition cameraPosition =
new CameraPosition(new LatLng(12.972442, 77.580643), 10, 0, 0);
huaweiMapOptions

设置相机属性

.camera(cameraPosition)

启用或禁用缩放功能。默认情况下,缩放功能处于启用状态。

.zoomControlsEnabled(false)

设置指南针是否可用。指南针在默认情况下可用。

.compassEnabled(true)

指定缩放手势是否可用。默认情况下,缩放手势可用。

.zoomGesturesEnabled(true)

指定是否启用滚动手势。默认情况下,滚动手势处于启用状态。

.scrollGesturesEnabled(true)

指定旋转手势是否可用。默认情况下,旋转手势可用。

.rotateGesturesEnabled(false)

指定倾斜手势是否可用。默认情况下,倾斜手势可用。

.tiltGesturesEnabled(true)

设置地图是否处于精简模式。默认值为“否”。

.liteMode(false)

设置首选项最小缩放级别

.minZoomPreference(3)

设置首选项最大缩放级别

.maxZoomPreference(13);

初始化地图视图对象。

mMapView = new MapView(this,huaweiMapOptions);

创建地图视图对象。

mMapView.onCreate();

获取华为地图对象。

mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(HuaweiMap huaweiMap) {
HuaweiMap mHuaweiMap = huaweiMap;
mHuaweiMap.setOnMapClickListener(new OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
new ToastDialog(CommonContext.getContext()).setText("onMapClick ").show();
}
});

初始化圆形对象。

Circle mCircle = new Circle(this);
if (null == mHuaweiMap) {
return;
}
if (null != mCircle) {
mCircle.remove();
mCircle = null;
}

mCircle = mHuaweiMap.addCircle(new CircleOptions()
.center(new LatLng(12.972442, 77.580643))
.radius(500)
.fillColor(Color.GREEN.getValue()));
new ToastDialog(CommonContext.getContext()).setText("color green: " + Color.GREEN.getValue()).show();
int strokeColor = Color.RED.getValue();
float strokeWidth = 15.0f;
// 设置圆的边缘颜色
mCircle.setStrokeColor(strokeColor);
// 设置圆的边缘宽度
mCircle.setStrokeWidth(strokeWidth);
}
});
// 创建布局。
ComponentContainer.LayoutConfig config = new ComponentContainer.LayoutConfig(ComponentContainer.LayoutConfig.MATCH_PARENT, ComponentContainer.LayoutConfig.MATCH_PARENT);
PositionLayout myLayout = new PositionLayout(this);
myLayout.setLayoutConfig(config);
ShapeElement element = new ShapeElement();
element.setShape(ShapeElement.RECTANGLE);
element.setRgbColor(new RgbColor(255, 255, 255));
myLayout.addComponent(mMapView);
super.setUIContent(myLayout);
}
}

结果

在这里插入图片描述

提示和技巧

  • 正确添加所需的依赖项。
  • 在 resources > base > media 中添加所需的映像。
  • 在 resources > base > element > string.json 中添加自定义字符串。
  • 在 config.json 文件中定义支持设备。
  • 不要记录敏感数据。
  • 在应用网格连接中启用所需的服务。
  • 使用相应的 Log 方法打印日志。

结论

在本文中,我们了解到,使用华为地图套件将华为地图集成到HarmonyOs可穿戴设备中。示例应用程序显示了如何在HarmonyOs可穿戴设备中实现地图套件。希望本文能帮助您理解和集成地图工具包,您可以在HarmonyoOs应用程序中使用此功能在可穿戴设备中显示地图。

非常感谢您阅读本文,希望本文能帮助您了解HarmonyOS中的华为地图套件。请在评论部分提供您的评论和喜欢。

⭐️ 好书推荐

《人工智能导论》

在这里插入图片描述

【内容简介】

科大讯飞校企合编教材,涵盖人工智能各个重要体系,详解人工智能基础理论,详细解读算法逻辑:详解机器学习、人工神经网络、智能语音识别、自然语言处理、知识图谱与机器人等核心算法知识,清晰介绍实战步骤:有理论有实战,介绍了人工智能算法与技术的实际应用,步骤清楚,条理清晰,即学即用。

📚 京东自营购买链接:《人工智能导论》

相关文章:

  • JDBC3:事务 + DAO +数据库连接池 + 工具类增删改查
  • 【模型训练】YOLOv7训练visdrone数据集
  • Hudi源码|bootstrap源码走读(写)
  • Mybatis中ResultType和ResultMap的区别
  • 标准化,归一化,二值化,One-Hot,卡方检验选取重要特征,主成分分析,缺失值和异常值处理
  • Spring Boot + vue-element 开发个人博客项目实战教程(二十二、文章管理页面开发(1))
  • python地图库(一)—folium
  • cesium拾取pick系列(拾取坐标和对象)
  • 说一说js继承的方法和优缺点?
  • ARMv8/ARMv9的Exclusive机制深度解读
  • 机器学习——梯度下降算法
  • 64.【网络编程】
  • Python爬虫-网页认识
  • 面试官:深度不够,建议回去深挖
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • 分享一款快速APP功能测试工具
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • Android 控件背景颜色处理
  • css系列之关于字体的事
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • IP路由与转发
  • Java 内存分配及垃圾回收机制初探
  • JAVA并发编程--1.基础概念
  • JDK9: 集成 Jshell 和 Maven 项目.
  • magento2项目上线注意事项
  • Vue.js源码(2):初探List Rendering
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 讲清楚之javascript作用域
  • 前端js -- this指向总结。
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端面试总结(at, md)
  • 入口文件开始,分析Vue源码实现
  • 实战|智能家居行业移动应用性能分析
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 携程小程序初体验
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 智能网联汽车信息安全
  • #pragma pack(1)
  • #在 README.md 中生成项目目录结构
  • (145)光线追踪距离场柔和阴影
  • (java)关于Thread的挂起和恢复
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (转)fock函数详解
  • (转)h264中avc和flv数据的解析
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 材料检测系统崩溃分析
  • .NET 设计一套高性能的弱事件机制
  • .net中调用windows performance记录性能信息
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @Mapper作用
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题