当前位置: 首页 > 面试题库 >

触摸事件不适用于Angular中的Google Maps

郦祯
2023-03-14
问题内容

我在有角度的应用程序中使用Google Maps javascript API。在带有鼠标的常规台式机上使用Google
Chrome浏览器中的应用程序时,各种导航功能(平移/缩放)可以在应用程序的Google Maps部分正常工作。但是,当我尝试在Windows
8.1屏幕上使用触摸手势时,地图无法识别任何平移或缩放手势。如果我捏变焦,什么也不会发生。如果我像鼠标一样在屏幕上双击,则地图将放大。如果我用手指拖动,浏览器窗口将处理触摸事件,而不是地图div,因此左右导航页面历史记录以及上下拖动滚动条整个页面,而不是平移地图。

作为另一个实验,我尝试在Chrome内使用Google地图http://maps.google.com本身,并且工作正常。因此,这意味着可以通过某种方式完成…。

那么,它是视口元标记类型的东西吗?还是与地图元素的大小有关?还是这是一件棱角分明的事情,我们需要以某种方式使用ngTouch来使应用程序响应触摸事件吗?

更新: 触摸事件 确实
在iPad的同一页面上起作用。我不确定该说什么,但令人鼓舞的是至少它可以在移动Safari中使用。似乎我们需要与Angular进行交流,以使其接受触摸事件。

更新

该问题已在错误中处理

https://issuetracker.google.com/issues/35824421

并于2016年12月在3.27版的Google Maps JavaScript API中解决。


问题答案:

实际上,这是一个Google Map错误#6425

有趣的事实是Google Map API不会根据用户代理提供相同的内容。因此,对于某些用例,解决方法是通过以下方式欺骗用户代理ether:

  • Chrome开发者工具>仿真>模型
  • 用户代理欺骗扩展
  • --user-agent chrome标志

任何Android或iOS设备都可以使用,将默认的桌面Google Map应用更改为类似移动设备的应用。拖放功能将再次在此类似移动设备的应用上运行。

经过一些测试,切换到类似移动应用程序的最小UA是“ Chrome”或“ AppleWebKit /
537”,但是使用它听起来很危险,因为将来可能会发生很大变化。

对我来说,基于铬的kioks,可以解决问题,直到修复了错误。



 类似资料:
  • 触摸操作概述 浏览器的触摸 API 由三个部分组成。 Touch:一个触摸点 TouchList:多个触摸点的集合 TouchEvent:触摸引发的事件实例 Touch接口的实例对象用来表示触摸点(一根手指或者一根触摸笔),包括位置、大小、形状、压力、目标元素等属性。有时,触摸动作由多个触摸点(多根手指)组成,多个触摸点的集合由TouchList接口的实例对象表示。TouchEvent接口的实例对

  • 触摸事件是手机游戏中最重要的事件,它易于创建,还能提供多种多样的功能。 让我们先了解一下什么是触摸事件,当你触摸移动设备的屏幕时,设备感受到被触摸,了解到被触摸的位置,同时取得触摸到的内容,然后你的触摸被回答。 这就是触摸事件。 如果你希望通过触摸控制屏幕下层的对象,那可以通过 优先级,达成这种需求,优先级高的对象能先处理事件。 创建触摸事件监听器: // Create a "one by on

  • 主要内容:jQuery Mobile 点击,实例,jQuery Mobile 点击不放(长按),实例,jQuery Mobile 滑动,实例,jQuery Mobile 向左滑动,实例,jQuery Mobile 向右滑动,实例触摸事件在用户触摸屏幕(页面)时触发。 触摸事件同样可应用与桌面电脑上:点击或者滑动鼠标! jQuery Mobile 点击 点击事件在用户点击元素时触发。 如下实例:当点击 <p> 元素时,隐藏当前的 <p> 元素: 实例 $("p").on("tap",functio

  • 我想知道是否有可能在GLSurfaceView上进行ImageView并获得两者各自的触摸事件。我的问题是,我想知道ImageView何时被按下(因此我将使用OnTouchListener)。但是,我仍然希望能够获得我的glsurfaceview的触碰事件。 提前感谢, 编辑:这是我的activity_main.xml

  • 触摸事件在用户触摸屏幕(页面)时触发。 触摸事件同样可应用与桌面电脑上:点击或者滑动鼠标! jQuery Mobile 点击 点击事件在用户点击元素时触发。 如下实例:当点击 <p> 元素时,隐藏当前的 <p> 元素: $("p").on("tap",function(){   $(this).hide(); }); jQuery Mobile 点击不放(长按) 点击不放(长按) 事件在点击并

  • 触摸事件类 每次手指点击时,会产生与手指相同数量的触控对象。如2个手指同时点击,将会产生2个触控对象,其中触控对象保存了当前的手指id,位置,点击态(点击中,移动中,点击抬起)等信息。 接受触摸的流程。 1.调用getTouchEvent 获取触摸时间数组 2.处理触摸事件 3.调用updateTouchStatus更新触摸 首先先说明触控对象其中的元素 参数 类型 名称 备注 id number