angularjs – 在Angular中触摸与Google地图不兼容的事件
我在角度应用程序中使用Google Maps
JavaScript API.在使用鼠标的常规台式机上使用谷歌浏览器中的应用程序时,各种导航功能(平移/缩放)在应用程序的谷歌地图部分工作就好了.但是,当我尝试在Windows 8.1屏幕上使用触摸手势时,地图无法识别任何平移或缩放手势.如果我捏缩放,没有任何反应.如果我像鼠标一样双击屏幕,那么地图将放大.如果我用手指拖动,浏览器窗口将处理触摸事件而不是地图div,因此左右导航页面历史记录和上下拖动滚动整个页面而不是平移地图.
作为另一个实验,我尝试在Chrome中使用谷歌地图http://maps.google.com本身,它运行良好.所以这意味着它可以以某种方式完成…. 那么,它是一个视口元标记类型的东西吗?或者它与调整地图元素有关吗?或者它是一个有角度的东西,我们需要用某种方式使用ngTouch来让应用程序响应触摸事件? 更新:触摸事件可在iPad上的同一页面上运行.我不确定那是什么,但令人鼓舞的是,至少它适用于移动游猎.似乎我们需要向Angular传达一些东西,告诉它接受触摸事件. UPDATE 这个问题是在bug中处理的 https://issuetracker.google.com/issues/35824421 并于2016年12月在Google Maps JavaScript API 3.27版中得到解决. 解决方法
这实际上是谷歌地图错误
#6425
有趣的是,Google Map API并未根据用户代理提供相同的内容.因此,对于某些用例,解决方法是欺骗用户代理,以太: > Chrome开发工具>仿真>模型 任何Android或iOS设备都可以使用,将默认桌面谷歌地图应用程序更改为移动设备应用程序.拖动和捏合将再次在这个移动的应用程序上工作. 经过一些测试后,切换到移动设备的最小UA是“Chrome”或“AppleWebKit / 537”,但使用它听起来很危险,因为它可能会在未来发生变化. 为了我的目的,基于chrome的kioks,这将解决bug,直到修复bug. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |