【高德地图】Android高德地图控件交互详细介绍

📖第5章 与地图控件交互

      • ✅控件交互
        • 🧊缩放按钮
        • 🧊指南针
        • 🧊定位按钮
        • 🧊地图Logo
      • ✅手势交互
        • 🧊缩放手势
        • 🧊滑动手势
        • 🧊旋转手势
        • 🧊倾斜手势
        • 🧊指定屏幕中心点的手势操作

✅控件交互

控件是指浮在地图图面上的一系列用于操作地图的组件,例如缩放按钮指南针定位按钮比例尺等。

image-20231230171435705

UiSettings 类用于操控这些控件,以定制自己想要的视图效果。而UiSettings 类对象的实例化需要通过 AMap 类来实现:

private UiSettings mUiSettings;//定义一个UiSettings对象
mUiSettings = aMap.getUiSettings();//实例化UiSettings类对象
🧊缩放按钮
mUiSettings.setZoomControlsEnabled(true);//缩放按钮
名称调用方法
是否允许显示缩放按钮UiSettings.setZoomControlsEnabled(boolean)
设置缩放按钮的位置UiSettings.setZoomPosition(int position)
获取缩放按钮的位置UiSettings.getZoomPosition()

缩放按钮的位置AMapOptions里面提供了默认两种:

AMapOptions.ZOOM_POSITION_RIGHT_CENTER	//右边中间
AMapOptions.ZOOM_POSITION_RIGHT_BUTTOM	//右边下面
🧊指南针
mUiSettings.setCompassEnabled(true);//指南针
🧊定位按钮

App 端用户可以通过点击定位按钮在地图上标注一个蓝色定位点,代表其当前位置。不同于以上控件,定位按钮内部的逻辑实现依赖 Android 定位 SDK。

aMap.setLocationSource(this);//通过aMap对象设置定位数据源的监听mUiSettings.setMyLocationButtonEnabled(true); //显示默认的定位按钮aMap.setMyLocationEnabled(true);// 可触发定位并显示当前位置

SDK 没有提供自定义定位按钮的功能,如果您想要实现该功能,可以浏览参考论坛的帖子的内容。

🧊地图Logo

高德地图的 logo 默认在左下角显示,不可以移除,但支持调整到固定位置。设置的方法是:

 mUiSettings.setLogoPosition(AMapOptions.LOGO_MARGIN_BOTTOM);//logo位置

Logo位置说明

名称位置说明
AMapOptions.LOGO_POSITION_BOTTOM_LEFTLOGO边缘MARGIN(左边)
AMapOptions.LOGO_MARGIN_BOTTOMLOGO边缘MARGIN(底部
AMapOptions.LOGO_MARGIN_RIGHTLOGO边缘MARGIN(右边)
AMapOptions.LOGO_POSITION_BOTTOM_CENTERLogo位置(地图底部居中)
AMapOptions.LOGO_POSITION_BOTTOM_LEFTLogo位置(地图左下角)
AMapOptions.LOGO_POSITION_BOTTOM_RIGHTLogo位置(地图右下角)

✅手势交互

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

手势方法说明,以下是控制手势生效与否的方法:

名称调用方法
缩放手势UiSettings.setZoomGesturesEnabled(boolean)
滑动手势UiSettings.setScrollGesturesEnabled(boolean)
旋转手势UiSettings.setRotateGesturesEnabled(boolean)
倾斜手势UiSettings.setTiltGesturesEnabled(boolean)
所有手势UiSettings.setAllGesturesEnabled (boolean)

以下是检测手势是否生效的方法:

名称调用方法
缩放手势UiSettings.isZoomGesturesEnabled()
滑动手势UiSettings.isScrollGesturesEnabled()
旋转手势UiSettings.isRotateGesturesEnabled()
倾斜手势UiSettings.isTiltGesturesEnabled()
🧊缩放手势

缩放手势可改变地图的缩放级别,地图响应的手势如下:

  • 双击地图可以使缩放级别增加1 (放大)
  • 两个手指捏/拉伸

也可以禁用或启用缩放手势。禁用缩放手势不会影响用户使用地图上的缩放控制按钮。以下是控制缩放手势开启关闭的代码:

mUiSettings.setZoomGesturesEnabled(true);
🧊滑动手势

您可以用手指拖动地图四处滚动(平移)或用手指滑动地图(动画效果),也可以禁用或开启平移(滑动)手势。

以下介绍控制缩放手势开启关闭的方法,示例代码如下:

UiSettings.setScrollGesturesEnabled(boolean);
🧊旋转手势

您可以用两个手指在地图上转动,可以旋转3D矢量地图,也可以禁用旋转手势。

以下介绍控制旋转手势开启关闭的方法,示例代码如下:

UiSettings.setRotateGesturesEnabled(boolean);
🧊倾斜手势

用户可以在地图上放置两个手指,移动它们一起向下或向上去增加或减小倾斜角,也可以禁用倾斜手势。

以下是控制倾斜手势开启关闭的代码:

UiSettings.setTiltGesturesEnabled(boolean);
🧊指定屏幕中心点的手势操作

在对地图进行手势操作时(滑动手势除外),可以指定屏幕中心点后执行相应手势。

指定屏幕中心点的方法如下,在AMap类中:

setPointToCenter(int x, int y);//x、y均为屏幕坐标,屏幕左上角为坐标原点,即(0,0)点。

开启以中心点进行手势操作的方法:

aMap.getUiSettings().setGestureScaleByMapCenter(true);

在这里插入图片描述

✅第1,2章 Android搭建3D高德地图详细教
✅第 3 章 初始化定位并显示小蓝点
✅第 4 章Android高德地图绘制标记点Marker
✅第 5 章Android高德地图控件交互详细介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/698778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSP-J 2023 T1 小苹果

文章目录 题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 题目传送门题解思路总代码 提交结果尾声 题目 题目描述 小 Y 的桌子上放着 n n n 个苹果从左到右排成一列,编号为从 1 1 1 到 n n n。 小苞是小 Y 的好朋友,每天她都会从…

EXCEL 在列不同单元格之间插入N个空行

1、第一步数据,要求在每个数字之间之间插入3个空格 2、拿数据个数*(要插入空格数1) 19*4 3、填充 4、复制数据到D列 5、下拉数据,选择复制填充这样1-19就会重复4次 6、全选数据D列排序,这样即完成了插入空格 以…

密评技术要求实施详解:每一步都关键

密评简介 密评定义:全称商用密码应用安全性评估, 是对采用商用密码技术、产品和服务集成建设的网络和信息系统密码应用的合规性、正确性、有效性进行评估的活动。 评测依据:GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》。 密评对象&…

新能源汽车PACK电池包的气密性测试需要用到哪些快速密封连接器

PACK电池包是新能源汽车的重要部件之一,在全部组装完成后需要对其壳体进行气密性测试,以确保壳体的密封性能,避免有雨水、灰尘等外界侵扰拒之门外,从而保证电池的使用寿命不受损害。 新能源汽车PACK电池包 在做气密性测试时需要用…

Jmeter基础(3) 发起一次请求

目录 Jmeter 一次请求添加线程组添加HTTP请求添加监听器 Jmeter 一次请求 用Jmeter进行一次请求的过程,需要几个步骤呢? 1、添加线程组2、添加HTTP请求3、添加监听器,查看结果树 现在就打开jmeter看下如何创建一个请求吧 添加线程组 用来…

CUDA自学笔记001 CUDA编程模型、CUDA线程模型及其管理、CUDA内存模型及其管理

CUDA编程模型 我们使用CUDA_C语言进行CUDA编程, 1,CUDA编程模型提供了线程抽象接口用于控制GPU中的线程 2,CUDA编程模型提供了内存访问控制,我们可以实现主机和GPU设备内存的控制,我们可以实现CPU和GPU之间内存的数据传…

yolov5-tracking-xxxsort yolov5融合六种跟踪算法(三)--目标跟踪

本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。 开源代码仓库链接:https://github.com/zzhmx/yolov5-tracking-xxxsort.git 先按照之前的博客配置好环境: yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)–环境配…

【论文阅读笔记】Revisiting RCAN: Improved Training for Image Super-Resolution

论文地址:https://arxiv.org/abs/2201.11279 代码地址:https://github.com/zudi-lin/rcan-it 论文小结 本文的工作,就是重新审视之前的RCAN,然后做实验来规范化SR任务的训练流程。 此外,作者得出一个结论:…

单片机51 输入和输出

一、IO口基本概念介绍 单片机的IO口(Input/Output口)是连接单片机与外部电路或设备的接口。单片机的IO口可以分为输入口和输出口两种,用于控制和监测外部设备的状态。 1. 输入口:单片机的输入口用于接收外部电路或设备的信号。输…

❤ hexo主题+Gitee搭建个人博客

Hexo的基本使用 ​官网 官网地址:https://hexo.io/zh-cn/ Hexo是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。即把用户的markdown文件…

【Qt】鼠标拖拽修改控件尺寸---八个方位修改

前提 在开发一个类似qdesiger的项目中 使用QGraphicsProxyWidget将Qt基础控件作为item放在场景视图中显示和编辑 创建自定义类继承QGraphicsProxyWidget,管理控件 成员变量 有控件的xywh等,其中x、y坐标存储是基于最底层widgetitem的 坐标系 x轴以右为正…

前端快速网格布局

直接进去CSS Grid Generator 真的好方便:

k8s-heml联动harbor 18

将打包的heml包上传到harbor仓库进行管理 创建一个公开的项目来接收传送的heml包 安装helm-push插件: helm plugin install https://github.com/chartmuseum/helm-push (在线安装,要求网速要快或者提供科学上网) 离线安装&…

《Python 语音转换简易速速上手小册》第10章 未来趋势和发展方向(2024 最新版)

文章目录 10.1 语音技术的未来展望10.1.1 基础知识10.1.2 主要案例:语音驱动的虚拟助理案例介绍案例 Demo案例分析10.1.3 扩展案例 1:情感敏感的客服机器人案例介绍案例 Demo案例分析10.1.4 扩展案例 2:多模态智能会议系统案例介绍案例 Demo

rider 缺少iisexpress

File C:/Program Files (x86)/IIS Express/iisexpress.exe doesn’t exist iisexpress下载 64位系统只能安装64位,32位系统安装32位 安装完成之后就有了

LeetCode.2583. 二叉树中的第 K 大层和

题目 2583. 二叉树中的第 K 大层和 分析 这道题其实考察的是二叉树的层序遍历&#xff0c;下面我介绍一个二叉树的层序遍历模版&#xff1a; public List<List<Integer>> levelOrder(TreeNode root) {// 记录最终的结果List<List<Integer>> res n…

物理备份的方式

完全备份恢复流程 停止数据库清理环境重演回滚&#xff0d;&#xff0d;> 恢复数据修改权限启动数据库 1.关闭数据库&#xff1a; [rootmysql-server ~]# systemctl stop mysqld [rootmysql-server ~]# rm -rf /var/lib/mysql/* //删除所有数据// [rootmysql-server ~]# …

java-kotlin踩坑:错误:找不到符号(点击能跳转到对应类中)

问题描述&#xff1a; 在android用java调用一个kotlin定义的类时&#xff0c;导包正常&#xff0c;点击也能跳转到对应类中&#xff0c;但是在编译运行时会报错&#xff0c;提示找不到符号 解决方法&#xff1a; 第一步&#xff1a;在app级别的build.gradle中添加kotlin-and…

【算法与数据结构】684、685、LeetCode冗余连接I II

文章目录 一、684、冗余连接 I二、685、冗余连接 II三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、684、冗余连接 I 思路分析&#xff1a;题目给出一个无向有环图&#xff0c;要求去掉一个边以后构成一个树&#xf…

【Linux】 login命令使用

login命令 在 Linux 中用于创建一个新的会话&#xff0c;并在新会话中登录用户。这个命令通常在终端中自动执行&#xff0c;当你打开一个新的终端会话或者通过 SSH 远程连接到 Linux 服务器时。 在命令后面附加欲登入的用户名称&#xff0c;它会直接询问密码&#xff0c;等待…