gpt4 book ai didi

javascript - Google maps javascript api 错误 android 浏览器(果冻 bean 和之前)

转载 作者:搜寻专家 更新时间:2023-11-01 08:32:50 24 4
gpt4 key购买 nike

所以,这个问题只涉及旧的 android 浏览器(在 chrome 成为标准浏览器之前)和 google maps 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

在我的代码中寻找错误几天后,在我看来,这可能是 google maps javascript api 中的错误。该错误不仅发生在我的网站上,而且发生在我能找到的所有嵌入式谷歌地图上。即使在谷歌自己的 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 maps javascript api 错误 android 浏览器(果冻 bean 和之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com