javascript - Google map javascript api bug android 浏览器(Jelly bean 及之前版本)

标签 javascript android google-maps google-maps-api-3

因此,这个问题仅涉及旧的 Android 浏览器(在 chrome 成为标准浏览器之前)和 google map javascript api v3。

我正在开发一个网站,以及一个带有 WebView 的应用程序,显示该网站(部分)。

最近,网站中包含的谷歌地图窗口已停止正常工作。 map 显示了,但 map 上的任何触摸事件(例如拖动 map 以显示其他位置)以及两指缩放都不再起作用。 JavaScript 控制台中显示的错误( map 上的每个触摸事件)是:

Uncaught TypeError: Illegal constructor -- From line 125 of http://maps.googleapis.com/maps-api-v3/api/js/26/2/intl/nl_ALL/common.js

在我的代码中寻找错误几天后,在我看来,这可能是谷歌地图 javascript api 中的错误。该错误不仅发生在我的网站上,而且发生在我能找到的所有嵌入式谷歌地图上。即使在 google 自己的 api 文档中也是如此。 该错误仅发生在旧的标准 Android 浏览器中,但旧的 Android 版本仍在使用中,而且我无法告诉我的用户切换到另一个浏览器,因为它也必须在 WebView 中工作。

我可以在此链接中的 samsung xcover 2(gt-s7710、android 4.1.2)和 api 17 模拟器(android 4.2)上可靠地重现此问题:https://developers.google.com/maps/documentation/javascript/

还有其他人遇到过这个问题和/或找到解决方法吗?

编辑:

我提交了bug report谷歌已接受,所以与此同时,我认为 Dvy Hrnsch 的解决方法是最好的解决方案!

最佳答案

我遇到了和你描述的同样的问题。

说明:

至少我找到了一个简单的解决方法(在头痛了几个小时之后)。

我刚刚发现,Google Maps Javascript API 有 3 个 API 引用。

“实验版”、“发布版”和“卡住版”。

如果您添加 API 时未指定确切版本,则默认情况下它将使用“实验版本”。

正如我所注意到的,这个版本 (3.26) 于 2016 年 8 月 30 日进行了更新,这似乎导致了该错误。

解决方案:

只需更改您的 API:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=API-KEY&libraries=geometry,places"></script>

src="http://maps.google.com/maps/api/js?v=3&key=API-KEY&libraries=geometry,places"

现在使用 API 的“发布版本”(最后一次更改于 2016 年 8 月 17 日)。

来源:https://developers.google.com/maps/documentation/javascript/versions

对我来说,它现在可以在带有 cordova 的 Android 4.3(API 级别 18)上运行。

希望这对您也有帮助。

最美好的祝愿

关于javascript - Google map javascript api bug android 浏览器(Jelly bean 及之前版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268830/

相关文章:

ios - 谷歌地图api在swift3中解析旅行持续时间数据

android - 有没有办法自动触发通知以匹配当前日期?

android - AppWidgetProvider 类中的调用 fragment

android - 如何使谷歌地图多个标记信息窗口保持打开状态android

javascript - Datatables,如何使用 jQuery 获取悬停时元素的属性?

android - Android上下文线程检查

javascript - angular-google-maps TypeError : $scope. map.control.refresh 不是函数

javascript - 如何使用MongoDB在Meteor中连续发布最新的N条记录?

javascript - 在 Cordova/ionic 中写入文件不起作用

javascript - 如何从 localStorage 数组中删除项目?