华为HarmonyOS地图服务 5 - 利用UI控件和手势进行地图交互

news/2024/9/22 20:01:18/

场景介绍

本章节将向您介绍如何使用地图的手势。

Map Kit提供了多种手势供用户与地图之间进行交互,如缩放、滚动、旋转和倾斜。这些手势默认开启,如果想要关闭某些手势,可以通过MapComponentController类提供的接口来控制手势的开关。

 

a1eb9861c91b9f29813042ee83322408.png

接口说明

以下是地图的控件和手势相关接口,该功能有2种实现方式:

  • 地图初始化时,可在初始化参数mapOptions中设置是否启用手势功能,详细讲解见显示地图章节。
  • 通过调用MapComponentController提供的set方法实现相关手势的开启或关闭。

接口名

描述

setZoomControlsEnabled(enabled: boolean): void

设置是否启用缩放控制器。

默认值为true。

setMyLocationEnabled(myLocationEnabled: boolean): void

设置是否启用我的位置图层。

默认值为true。

setMyLocationControlsEnabled(enabled: boolean): void

设置是否启用我的位置按钮。

默认值为true。

setZoomGesturesEnabled(enabled: boolean): void

设置是否启用缩放手势。

默认值为true。

setScrollGesturesEnabled(enabled: boolean): void

设置是否启用滚动手势。

默认值为true。

setRotateGesturesEnabled(enabled: boolean): void

设置是否启用旋转手势。

默认值为true。

setTiltGesturesEnabled(enabled: boolean): void

设置是否启用倾斜手势。

默认值为true。

setScaleControlsEnabled(enabled: boolean): void

设置是否启用比例尺。

默认值为true。

setScalePosition(point: mapCommon.MapPoint): void

设置比例尺控件的位置。

默认值为true。

setAllGesturesEnabled(enabled: boolean): void

设置手势是否可用。

默认值为true。

setCompassControlsEnabled(enabled: boolean): void

设置是否启用指南针。

默认值为true。

开发步骤

mapController对象在初始化地图时获取,初始化地图功能在显示地图章节中有详细讲解。

地图手势控制

您可以通过mapController对象来启用或禁止相关的地图手势。

缩放手势:

用户可以通过用双指张合,实现放大缩小地图。

this.mapController.setZoomGesturesEnabled(true);

滚动平移手势:

用户可以通过用手指拖动地图来进行移动。

this.mapController.setScrollGesturesEnabled(true);

旋转手势:

用户可以通过将两个手指放在地图上旋转来旋转地图。

this.mapController.setRotateGesturesEnabled(true);

倾斜手势:

用户可以通过将两个手指放在地图上下滑动来倾斜地图。

this.mapController.setTiltGesturesEnabled(true);

 

启用或禁止所有手势:

通过调用setAllGesturesEnabled方法,可启用或禁止所有手势。

// 禁止所有手势
this.mapController.setAllGesturesEnabled(false);

 

 


http://www.ppmy.cn/news/1528989.html

相关文章

KDD 2024论文分享┆STAMP:一种基于时空图神经网络的微服务工作负载预测方法

论文分享简介 本推文详细介绍了一篇最新论文成果《Integrating System State into Spatio Temporal Graph Neural Network for Microservice Workload Prediction》,论文的作者包括:上海交通大学先进网络实验室: 罗旸、高墨涵、余哲梦,高晓沨…

ClickHouse 与 Quickwit 集成实现高效查询

1. 概述 在当今大数据分析领域,ClickHouse 作为一款高性能的列式数据库,以其出色的查询速度和对大规模数据的处理能力,广泛应用于在线分析处理 (OLAP) 场景。ClickHouse 的列式存储和并行计算能力使得它在处理结构化数据查询时极具优势&…

Qt多元素控件——QListWidget

文章目录 Qt多元素控件QListWidget核心属性、方法和信号使用演示 Qt多元素控件 Qt中提供了一些多元素控件: xxxView和xxxWidget的关系: xxxView是更底层的实现xxxWidget是基于xxxView封装而来的 此处的xxxView是MVC结构的典型实现,MVC是软件…

(已解决)vscode如何传入argparse参数来调试/运行python程序

文章目录 前言调试传入参数运行传入参数延申 前言 以前,我都是用Pycharm专业版的,由于其好像在外网的时候,不能够通过VPN来连接内网服务器,我就改用了vscode。改用了之后,遇到一个问题,调试或者运行python…

【论文阅读】Benchmarking Retrieval-Augmented Generation for Medicine

论文:https://arxiv.org/abs/2402.13178 代码: GitHub - Teddy-XiongGZ/MIRAGE: Official repository of the MIRAGE benchmark GitHub - Teddy-XiongGZ/MedRAG: Code for the MedRAG toolkit 研究背景: 系统地评估医用rag QA系统&#xff0…

使用Rust直接编译单个的Solidity合约

这里写自定义目录标题 使用Rust直接编译单个的Solidity合约前言预备知识准备工作示例 使用Rust直接编译单个的Solidity合约 前言 我们知道,我们平常开发Solidity智能合约时一般使用Hardhat框架,但是如果你是一个Rustacean (这是由 “Rust” 和 “crust…

通过springcloud gateway优雅的进行springcloud oauth2认证和权限控制

代码地址 如果对你有帮助请给个start,本项目会持续更新,目标是做一个可用的快速微服务开发平台,成为接私活,毕设的开发神器, 欢迎大神们多提意见和建议 使用的都是spring官方最新的版本,版本如下&#xff1…

phpstudy 建站使用 php8版本打开 phpMyAdmin后台出现网页提示致命错误:(phpMyAdmin这是版本问题导致的)

报错提示: 解决方法:官网下载phpmyadmin 5.2.1版本。 下载地址:phpMyAdmin 将网站根目录phpMyAdmin4.8.5里面的文件换成 官网下载的5.2.1版本即可。 重启网站,打开phpMyAdmin后台即可(若打不开更改 mysql密码即可&am…