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

ops/2024/9/22 23:02:42/

场景介绍

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

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/ops/114456.html

相关文章

某思CMS V10存在SQL注入漏洞

Fofa: product"魅思-视频管理系统" 框架:ThinkPHP 5,6 1 漏洞分析&复现 位于 /controller/Api.php 控制器中的getOrderStatus 方法POST传入,然后直接拼接了 orderSn 变量到 where 查询中,导致漏洞产生. /** * 查询订单支付状态 */ pub…

LeetCode337. 打家劫舍III

// 很好的一道题目,既考察递归又考察动归 // 这个版本超时了,原因是暴搜 // 很显然这里使用的是前序,那是不是应该考虑后序?public int rob(TreeNode root) {if (root null) {return 0;}if (root.left null && root.rig…

妈妈再也不用担心字符串方法啦!——js String实例方法汇总

js String实例方法笔记 at at() 方法接受一个整数值,并返回一个新的 String const sentence The quick brown fox jumps over the lazy dog.;let index 5;console.log(An index of ${index} returns the character ${sentence.at(index)}); // Expected output: …

进程间关系与进程守护

一、进程组 1、理解 每一个进程除了有一个进程 ID(PID)之外 还属于一个进程组, 进程组是一个或者多个进程的集合, 一个进程组可以包含多个进程。 每一个进程组也有一个唯一的进程组 ID(PGID), 并且这个 PGID 类似于进程 ID, 同样…

python爬虫初体验(一)

文章目录 1. 什么是爬虫?2. 为什么选择 Python?3. 爬虫小案例3.1 安装python3.2 安装依赖3.3 requests请求设置3.4 完整代码 4. 总结 1. 什么是爬虫? 爬虫(Web Scraping)是一种从网站自动提取数据的技术。简单来说&am…

Unity自我实现响应式属性

其实只是写着玩,响应式编程建议使用UniRx插件(一套成熟的响应式编程解决方案),我写的主要是借鉴一下这个思想,实现的也不够优雅,不过逻辑也算严密可以正常使用.你可以查看我写的理解响应式属性的思想. 借鉴UniRx的ReactiveProperty类,且UniRx不仅有响应式属性. using System; …

Matlab simulink建模与仿真 第十四章(信号输出库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号输出库中的模块概览 注:部分模块在第二章中有介绍,本章不再赘述。 二、文件及工作空间模块 1、To File文件模块 (1)在MATLAB中可用MAT文件对工作区的…

利用Metasploit进行信息收集与扫描

Metasploit之信息收集和扫描 在本文中,我们将学习以下内容 使用Metasploit被动收集信息 使用Metasploit主动收集信息 使用Nmap进行端口扫描 使用db_nmap方式进行端口扫描 使用ARP进行主机发现 UDP服务探测 SMB扫描和枚举 SSH版本扫描 FTP扫描 SMTP枚举 …