我使用google地图、开放层和dojo工具包为web应用程序构建了一个地图组件。它加载了谷歌地图并绘制了数据点。直到今天一早,一切都很正常,但是突然地图停止了装载。没有JavaScript错误,开放层和谷歌仍然初始化,数据点仍然在他们各自的位置,但地图不加载。以下是我正在使用的资源:
<script src="//openlayers.org/api/OpenLayers.js"></script>
<script src="//maps.google.com/maps/api/js?v=3&libraries=places&sensor=false"></script>我刚刚尝试了google提供的“Hello”示例(见下文),并注意到它是有效的。
https://developers.google.com/maps/documentation/javascript/tutorial我注意到这个示例需要使用API密钥。我尝试将API密钥放入上面使用的资源中,但没有结果。我还试图复制他们在示例中使用的资源,但由于在打开的层中导致错误,所以失败了。
谷歌决定在这里放弃功能,我需要重建这个组件吗?我遗漏了什么吗?
注意:
我暂时解决了我的生产问题,从谷歌地图切换到开放街道地图。在这里可以找到https://www.beaconsinspace.com/map。这也证明了问题在于加载地图,而不是其他东西。
发布于 2015-09-01 20:20:48
恢复到3.20版本对我有用:
<script src="//maps.google.com/maps/api/js?v=3.20"></script>值得称赞的是@geocodezip让我走上了正确的轨道。
发布于 2015-09-01 16:44:41
多亏了@geocodezip的回答和@benjamin的评论,我找到了解决方案。
所发生的是google更新(如@geocodezip答案中所述)。我的解决方案是指定api版本3.20:
<script src="//maps.google.com/maps/api/js?v=3.20&sensor=false"></script>-或者
<script src="//maps.googleapis.com/maps/api/js?v=3.20&sensor=false"></script>发布于 2015-09-01 15:54:48
看起来像在通知组中宣布 v.exp现在是v3.22,这意味着发布版本是v3.21,冻结版本是v3.20。
似乎每次新版本的API推出时,加载瓷砖都会出现临时问题。您是否尝试完成刷新(清除浏览器缓存)。这些问题有可能是由于对API片段的缓存造成的。
您没有使用API的当前文档URL,(maps.google.com/maps/api/js vs maps.googleapis.com/maps/api/js),这也可能与它有关。
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=API_KEY&callback=initMap">
</script>(在该示例中,我并不同意async defer和callback=...的观点)。
https://stackoverflow.com/questions/32335221
复制相似问题