`[$ injector:nomod]模块'google-maps'不可用

时间:2014-03-24 13:37:02

标签: javascript angularjs google-maps angular-google-maps

我使用angular-google-maps在角度应用程序中处理谷歌地图。为此,我必须将angular-google-maps.js添加到项目中。 如果我按以下方式添加脚本,页面可以正常工作:

<script type="text/javascript" 
        src="http://www.directiv.es/application/html/js/nlaplante/angular-google-maps/angular-google-maps.js"></script>

但如果我使用本地副本,它将无效:

<script type="text/javascript" 
        src="js/libs/directiv.es/angular-google-maps.js"></script>

查看firebug,我看到angular-google-maps.js文件已加载,但在这种情况下,会发生以下错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module mapsApp due to:
Error: [$injector:modulerr] Failed to instantiate module google-maps due to:
Error: [$injector:nomod] Module 'google-maps' is not available! You either misspelled the...<omitted>...1) 

在网上搜索几个小时我没有找到任何理由或解决方案。也许你有一个想法或提示,如何找到原因?

1 个答案:

答案 0 :(得分:4)

我找到了解决方案并且喜欢在这里写下这个案例,有人遇到了同样的问题。

在我的情况下,我从github下载了angular-google-maps扩展,在Windows上提取了该zip文件并将文件复制到我的项目中。结果,发生错误:Failed to instantiate module google-maps due to ...加载&#34;相同&#34; js文件通过http一切正常。关键是:它不是同一个文件!

解决方案是从URL链接获取文件并存储本地:

也许在下载或解压缩过程中,zip文件已损坏。也许有一个角色问题。不管。

如果我在浏览器中打开该链接http://www.directiv.es/application/html/js/nlaplante/angular-google-maps/angular-google-maps.js,我可以右键单击该文件并在&#34;源代码中打开源代码&#34;编辑器并将该文件保存在磁盘上。

现在我可以将新创建​​的文件复制到我的项目文件夹中,例如该位置:js/libs/directiv.es/angular-google-maps.js,一切正常......