【问题标题】:Google Maps Javascript API Doesn't Respond to Touch Events in iOS 10Google Maps Javascript API 不响应 iOS 10 中的触摸事件
【发布时间】:2017-01-25 05:10:34
【问题描述】:

我运营的网站内置了许多自定义 Google 地图(搜索后在地图上显示不同位置或生成往返某个位置的路线)。我为此使用 Google Maps Javascript API。我的用户已经开始报告说,在 iOS 10 上,这些地图不再响应触摸事件——他们不能捏合缩放,也不能点击地图上的“图钉”来打开位置信息气球。

我一直在寻找其他遇到此问题但无济于事的人。我在这里发现了一个 StackOverflow 问题 (http://webcache.googleusercontent.com/search?q=cache:DaiSdOgD0U4J:stackoverflow.com/questions/39401974/google-maps-javascript-doesnt-pan-or-zoom-in-ios-10+&cd=3&hl=en&ct=clnk&gl=us),但它被否决了,然后被删除了。 (为什么?)今天重新搜索仍然会显示该页面,但它会导致 404,使搜索更加令人沮丧。

有其他人经历过吗?这是 Google Maps API 中的错误吗?我当然在他们的开发者网站上找不到任何相关信息。我可能会做一些非常错误的事情来导致这种情况吗?代码已经运行了多年,现在几个月都没有修改过,所以我们这边没有任何改变。

  • 我们确实在请求中使用了 API 密钥
  • 我尝试从 当前版本(3.25)到当前实验版本 (3.26) 功能没有变化。
  • 用户报告至少在 iOS 10 上的 Safari 和 Chrome 中都会发生这种情况

只是希望有人可以就这个问题提供任何见解。

【问题讨论】:

  • 我和你一起讨论这个问题。我也看了谷歌,找到了你说的404页面。这是个大问题,因为在ios10下使用IONIC苹果设备无法使用我们的地图,无法理解为什么
  • 谢谢!我是提出这个问题的人。我等了好几天,除了一个投反对票的人外,没有人回应。我以为这只是我的问题,所以我删除了这个问题。

标签: javascript ios google-maps google-maps-api-3


【解决方案1】:

好的,这就是我解决此问题的方法。 提醒一下,我正在通过 Ionic 框架使用 AngularJS。 我在 index.html 中以这种方式调用地图:

<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=PUT_YOUR_GOOGLE_API_KEY_HERE&signed_in=true"></script>

看起来像 google map 的 signed_in 功能是在地图上添加一个图层,该图层不会让地图获取您屏幕触摸位置的 X、Y。

我刚刚替换为 false 以禁用 signed_in 功能,它的工作原理就像一个魅力

<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=PUT_YOUR_GOOGLE_API_KEY_HERE&signed_in=false"></script>

【讨论】:

  • 很棒的发现!认真的,太好了。我真的不喜欢我们必须像那样解决他们的错误,但是很好地注意到了这个问题。令人沮丧的是,在线其他地方或谷歌本身几乎没有关于这个问题的任何内容。这是我认为目前我们能得到的最正确的答案。
  • 如果它为您做到了,我很高兴!花了我几个小时才发现这种错误真的很令人沮丧!
  • 我对此有一个理论,显然在 safari 中处理触摸的代码已经改变,在 iOS10 之前,触摸对象从触摸开始到触摸结束保持相同的实例,这不再是真的,标识符是相同的,但每次调用事件处理程序时都会重新创建触摸事件本身。推测这可能会导致谷歌地图中的某些代码失败)
  • 可能是地图初始化的问题?您是否尝试过将gestureHandling 属性更改为“贪婪”。默认情况下它是“自动”,如果自动导致“合作”模式,您所有的单指触摸手势都会平移页面。 developers.google.com/maps/documentation/javascript/3.exp/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多