javascript - 谷歌地图 : ReferenceError - google is not defined

标签 javascript angularjs google-maps

我知道这个问题被问了多次,但所有其他线程都不能解决我的问题。 我的问题是:我有基于 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/

相关文章:

javascript - Python Selenium AWS Lambda 更改 WebGL vendor/渲染器以实现无法检测的 headless 刮刀

javascript - knockout 循环中的嵌套绑定(bind)

javascript - 如何在 angularjs 中设置 $resource 的操作

javascript - 如何让AngularJS默认选中一个复选框

javascript - 如何获取谷歌地图上放置的标记的 GPS 坐标?

javascript - 如何仅为 Bootstrap 模式内的选定 div 添加垂直滚动?

javascript - 是否可以从给定的字符串 1stnumber-2ndnumber 中获取最大值和最小值

angularjs - Visual Studio 2013 AngularJS 智能感知支持

javascript - Google map 自动完成(销毁和重用)

javascript - 在不指定纬度和经度的情况下将谷歌地图置于地点 ID 的中心?