关于 android 中的MapView 双击事件的问题?

ArcGIS Maps SDK for JavaScript系列之二:认识Map和MapView 详细介绍了Map和MapView的常用属性和方法,并给出了相关的示例代码 阅读详情

我在做的程序的时候,遇到这样的一个问题,就是,双击mapView响应事件,后来试了很多方法,后来终于成功了!

这是我从网上搜集的一些资料。如下:

touch与多个mapview 的属性及返回值的总结

 序号

 setClickable

 setEnabled

 onTouch函数

返回值

 结果

 1 默认 默认 false 仅响应第一次,mapview正常响应
 2 默认 默认 true 每次都响应,mapview不能正常响应
 3 true  true false 仅响应第一次,mapview正常响应
 4  true  true true 每次都响应,mapview不能正常响应
     
     
     
     
     

根据以上调查结果得出结论

onTouch函数的返回值直接影响着onTouch函数响应情况,mapview和onTouch函数响应互斥,与setClickable setEnabled无关

 

决定使用dispatchTouchEvent函数,下面是我重写的dispatchTouch方法,主要功能是,双击mapView能自动放大地图。以供大家参考!

首先这个实例只能用在4.0以上版本

  你想点击任意一点获得坐标不能用onTouchEvent,而只能用dispatchTouchEvent 因为“MapActivity 继承了 the dispatchTouch Event 而不是OnTouchEvent ”

  @Override
 public boolean dispatchTouchEvent(MotionEvent ev) {
     int actionType=ev.getAction();
  switch(actionType){
  case MotionEvent.ACTION_DOWN:
      count++;
   if(count==1){
     firClick=System.currentTimeMillis();
   }else if(count==2){
    //Toast.makeText(ActivityMain.this, "aaa", Toast.LENGTH_SHORT).show();
    secClick=System.currentTimeMillis();
    System.out.println("sec:"+secClick);
    System.out.println("first:"+firClick);
    distanceTime=secClick-firClick;
    System.out.println("distanceTime:"+distanceTime);
    if(distanceTime>1 && distanceTime<1000){
     Toast.makeText(ActivityMain.this, "aaa", Toast.LENGTH_SHORT).show();
    intZoomLevel++;
          if (intZoomLevel > mMapView01.getMaxZoomLevel()) {
           intZoomLevel = mMapView01.getMaxZoomLevel();
           }
          mMapController01.setZoom(intZoomLevel);
    }
    firClick=0;
    secClick=0;
    count=0;
    
   }
  }
  return super.dispatchTouchEvent(ev);
 }

 

ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView MapView是ArcGIS Runtime SDK forAndroid的核心组件,通过MapView可以呈现地图服务的数据,并且在MapView中定义了丰富的属性、方法和事件,用户通过MapView可以操作设备的触摸屏,默认MapView可以响应用户的各类手势的操作,在GIS的开发中,什么时候都少不了地图操作。MapView是Android中ViewGroup的子类,也是ArcGIS Ru 阅读详情

相关推荐

《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView

1、前言 在上一篇内容里介绍了 关于ArcGIS Android开发的未来(“Quartz”版Beta)相关内容,期间也提到了关于API接口的重构,开发思路的调整,根据2015UC资料也可以知道新版预计将在明年的时候推出。届时在开发思路上将会往新版迁移。 总的来说,虽然“Quartz”版的开发思路有所变化,但总体变化不大,这里我将继续以现有正式发布版本为主梳理ArcGIS Runtime

esricd的专栏 3895

2.地图(MapView)

愿你出走半生,归来仍是少年!在Osmdroid中MapView是最为重要的一个类,它承载了用户交互、数据展示等重要责任。

我就是那个帕吉 653

ArcGIS API for Android中针对MapView设置setOnTouchListener监听

在ArcGIS API for Android中,MapView通常只能设置一个OnTouchListener,这意味着你不能直接为同一个MapView对象多次调用setOnTouchListener方法,以添加多个不同的触摸监听器。 如果你需要多个不同的触摸监听器来处理不同类型的触摸事件,通常的做法是在一个OnTouchListener中处理所有事件,并根据事件的类型执行不同的操作。你可以在OnTouchListener的回调方法中根据需要区分不同的触摸事件类型(例如,单击、长按、滑动等)并执行相应的逻

韦_恩的博客 1111

【亲测免费】 推荐项目:MapView——轻量高效的Android地图视图库

推荐项目:MapView——轻量高效的Android地图视图库 在寻求高效且易集成的地图解决方案时,往往面对的是复杂性与资源消耗的挑战。然而,今天要推荐的开源项目MapView,以其简约而不简单的姿态,为Android开发者带来了全新的选择。 项目介绍 MapView是一款专为Android设计的高性能地图显示库,它以极低的内存占用和简易的API,让开发人员能够迅速实现地图功能。通过支持平移、拖...

gitblog_00054的博客 1287

利用腾讯云轻量服务器快速搭建网站CDN

腾讯云的轻量最近在主机和站长中间可谓是占尽来风头,优秀的线路,低廉的价格使得越来越多的人开始使用腾讯云的轻量级服务器来部署应用。由于腾讯云轻量服务器的海外服务器电信走的是CN2GIA线路带宽30m挺适合做CDN的,我就记录一下如何利用腾讯云香港的轻量服务器搭建一个CDN。 购买服务器 首先选购服务器,最近腾讯云在做活动,力度很大国内备案用户可以选用国内的服务器最低128元/年,未备案的可以选用香港或者新加坡的服务器。 购买链接 服务器系统选Debian、Ubuntu、centos都可以 一键脚

demo_top的博客 2565

从零到一:R与RStudio的安装与配置全攻略

本文提供了R与RStudio的完整安装与配置指南,涵盖Windows、Mac和Linux三大操作系统。从基础环境搭建到高级性能优化,详细介绍了R语言安装、RStudio配置、项目管理和实用技巧,帮助数据科学初学者快速搭建高效的分析工作环境。

weixin_29062671的博客 420

使用高德地图MapView

跳过导入高德地图,导入包,直接到使用 一、在Activity中使用 1、在布局中使用mapview <com.amap.api.maps.MapView android:id="@+id/amapView" android:layout_width="match_parent" android:layout_height="0dp" ...

u014050788的专栏 6453

CHB-MIT波士顿儿童医院癫痫EEG脑电数据处理(一)

CHB-MIT癫痫EEG脑电数据处理CHB-MIT头皮脑电图数据介绍CHB-MIT头皮脑电图数据下载CHB-MIT头皮脑电图数据处理提取原始数据滤波(0.1~50hz)数据分块(时间窗口) CHB-MIT头皮脑电图数据介绍 该数据库收集自波士顿儿童医院,其中包括患有难治性癫痫发作的儿科患者的脑电图记录。停用抗癫痫药物后最多持续几天对受试者进行监测,以表征其癫痫发作并评估其对手术干预的候选资格。 从22位受试者中收集了23个病例的记录(5例男性,3至22岁; 17例女性,1.5至19岁)。 (案例chb21是

AI_DOG的博客 1万+

浅谈ArcGIS移动开发中的基本变量:MapView、Map、Layers、GraphicsOverlay

一、MapView         MapView,可译为地图视图或地图窗口,顾名思义,是在Android布局中用来显示地图(ArcGISMap)的控件,允许用户与地图进行交互。它使用了MVC 架构,实现了 Map 和 MapView的分离,可使用Viewpoints控制可视范围,也通过 Touch事件和监听实现与内容的交互,如图层或图形的识别(identify),可参照:ArcGIS Runt...

Smart3S的博客 4140

Ubuntu22.04 网络图标消失与连接故障排查指南(附实战修复流程)

本文详细介绍了Ubuntu22.04系统中网络图标消失与连接故障的排查与修复方法。通过ifconfig、dhclient等命令诊断问题,提供从紧急恢复网络连接到深度排查的完整解决方案,帮助用户快速恢复网络功能并预防类似问题再次发生。

weixin_28481133的博客 287

【史诗级】详细阐述借助AI实现对Windows蓝屏原因进行精确定位的方法

在解决问题的过程中我决定把这一切都记录下来,并整理出一套通用的方法,方便快速精确定位引起蓝屏的真实原因。今天我的蓝屏代码是0x000000ef,而你或许是遇到另一个蓝屏代码,代码本身代表的含义不是这里的讨论重点,重要的是解决问题的底层逻辑。

sprlightning的博客 1万+

Android MapView 实现双击自动扩大地图

<br />自定义MapView类,重写其onInterceptTouchEvent方法。<br />代码如下:<br />public class MyMapView extends MapView {<br />     private long lastTouchTime = -1;<br />    <br />     public MyMapView(Context context, AttributeSet attrs) {<br />         super(context, a

angle_rupert 1217

大模型系列——一文看懂“提示词” vs “提示词工程” vs “上下文工程”

本文区分了AI领域的三个关键概念:提示词(Prompt)、提示词工程(Prompt Engineering)和上下文工程(Context Engineering)。提示词是直接输入给AI模型的指令文本;提示词工程则是系统化设计、测试和优化提示词的过程;而上下文工程是为AI构建动态上下文,提供恰当信息和工具的科学与艺术。文章通过翻译案例展示了提示词工程的迭代过程,并说明上下文工程在AI Agent中的核心作用——动态收集和组织必要信息。最后强调普通人只需掌握提示词编写,开发AI应用才需深入提示词工程,构建智能

2401_84052244的博客 750

Android 的 Mapview & Location 使用教程

本教程将探讨如何使用谷歌地图API来显示出信息点(POI),并使用手机提供的定位服务,来显示当前位置可搜索到的POI位置。这种情况下,我们应使用商场作为POI。   我把教程分为了两部分。  第一部分(在本节中)将介绍包括: 1.MapView对象的使用  2.使用MD5密文获取一个谷歌地图API密钥  3.实现一个地点监听器,以获得你的当前位置 第二部分将包括: 1.

dreajay的专栏 1909

SPSS 多重共线性问题:编程解决方案

多重共线性会导致回归模型的不稳定性,使得估计的回归系数失去解释力,降低模型的准确性和可靠性。通过执行这些代码,你将能够计算和查看VIF和CI的结果,并确定是否存在多重共线性问题。上述代码执行了一个回归分析,其中A是我们感兴趣的因变量,B、C、D和E是我们要检查的自变量。接下来,我们将执行多重共线性的检测。通过执行上述代码,你将能够看到每个自变量的VIF和CI值,以及预先设置的阈值。上述代码将计算VIF和CI的值,并将结果写入指定路径的结果文件中。接下来,我们可以使用以下代码来计算和显示VIF和CI的值。

CyberGenius的博客 1426

注册GitHub时出现Unable to verify your captcha response.Please visit https://docs.github.com/解决方案(持续更新)

本文主要介绍了注册GitHub时出现Unable to verify your captcha response. Please visit https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.解决方案,希望能对学习使用GitHub的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

mapView双击事件监测

public class MyMapView extends MapView {  private long lastTouchTime = -1;  public MyMapView(Context context, AttributeSet attrs) {    super(context, attrs);  }  @Override  public boolean onInterceptT...

点点滴滴 196

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

2010.12.10(4)——— android MapView 处理双击事件

2010.12.10(4)——— android MapView 处理双击事件 在地图上每次都点击放大按钮 再放大 不太好 希望 双击来放大地图 在网上找了一些 大多都是重写onTouchEvent方法 但是 按照网上方法 试了都不行 后来发现 重写dispatchTouchEvent 方法 就好了 /[code="java"]/处理双击事件 @Override...

168

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

基于Arcgis Runtime SDK 100.x 的Android GIS开发之图层触摸事件的响应

触摸事件的实现在Arcgis100.x上的实现与之前有很大的不同,比较常用的做法是定义一个类继承自DefaultMapViewOnTouchListener,然后可以选择实现其中的一些方法 ...

xiaok的博客 1980

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java放大地图,双击:放大Android地图视图?

我还一直在寻找答案/示例,但没有找到有效的代码。最后,下面是适用于我的代码:mymapactivity.java软件public class MyMapActivity extends MapActivityimplements OnGestureListener, OnDoubleTapListener {private MapView mapView;@Overridepublic void ...

weixin_28871885的博客 108

ArcGIS for Android 取消双击放大

这里使用的ArcGIS Android的10.2.3的SDK。需要重写MapOnTouchListener的onDoubleTap方法public class DoubleTouchListener extends MapOnTouchListener { public DoubleTouchListener(Context context, MapView view) { s

不死就继续 2391

ArcGIS for Android(Android Studio开发ArcGIS项目)

Android Studio开发ArcGIS项目有两种方式,一种是引用在线的ArcGIS库,一种是把【arcgis-runtime-sdk-android-100.2.1】下载下来后放到本地引用,先说在线引用,因为比较简单 方式一 :在线引用 1、新建工程 我的Android Studio版本是3.5的 file – new – new projet, 选择Empty Activity,点击ne...

qq_40820382的博客 1万+
上一篇: Android权限列表permission说明
下一篇: ProgressBar 各种样式
ghd2000
博客等级 码龄18年 78粉丝 47原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值