我知道这个问题被问了多次,但所有其他线程都不能解决我的问题。 我的问题是:我有基于 Angular 应用程序,某些页面使用谷歌地图在 map 上显示项目。一切工作正常,我没有更改任何一行代码,并注意到谷歌地图现在不起作用。
我在索引文件中导入了谷歌脚本,甚至没有在主页中使用它:
<script src="http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=ru-RU"></script>
请打开此网址http://yuppi.com.ua然后进入控制台,等待3秒,就会显示这些错误。
ReferenceError: google is not defined stat.js
ReferenceError: google is not defined util.js
ReferenceError: google is not defined common.js
最佳答案
显然这些错误是由于 script.js file 中的以下代码引起的:
yuppiApp.run(function($rootScope, $window) {
$rootScope.$on("$locationChangeStart", function() {
Object.keys($window).filter(function(k) {
return k.indexOf("google") >= 0
}).forEach(function(key) {
delete $window[key]
})
})
});
delete $window[key]
从 window
对象中删除 google
属性,进而删除破坏 Google map 库的加载(google
是 Google map API 的根命名空间)。
我不确定为什么 google
属性在您的情况下被删除,但例如,一旦指定的行被注释:
yuppiApp.run(function($rootScope, $window) {
$rootScope.$on("$locationChangeStart", function() {
//Object.keys($window).filter(function(k) {
// return k.indexOf("google") >= 0
//}).forEach(function(key) {
// delete $window[key]
//})
})
});
错误将会消失。
关于javascript - 谷歌地图 : ReferenceError - google is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34424049/