关于yeoman-ionic框架我试图将谷歌地图添加到我的应用程序。问题是每次我运行grunt服务时index.html脚本被删除。所以我运行了这个:bower install --save angular-google-maps并解决了问题,因为它除了index.html之外还在其他文件上编写了脚本。唯一的问题是,当我再次运行咕噜声时,我遇到了一个不同的错误,从那以后我就无法弄清楚我做错了什么......
错误:
未捕获的ReferenceError:谷歌未定义
我认为它与某些业力配置文件有关,虽然我不知道这是什么。试图解决这个问题几个小时,无法解决这个问题......
答案 0 :(得分:11)
我也得到了这个错误。事实证明这与我加载脚本文件的顺序有关。尝试按以下顺序加载脚本文件:
<script src='//maps.googleapis.com/maps/api/js?sensor=false'></script>
<script src='/path/to/underscore[.min].js'></script>
<script src='/path/to/lodash.underscore[.min].js'></script>
<script src='/path/to/angular-google-maps[.min].js'></script>
最佳!
答案 1 :(得分:6)
您必须使用Google Maps SDK Async Loader。 它保证在所有Google Maps SDK完全就绪之前,angular-google-maps不会开始处理任何指令。
配置:
.config(function(uiGmapGoogleMapApiProvider) {
uiGmapGoogleMapApiProvider.configure({
// key: 'your api key',
v: '3.20', //defaults to latest 3.X anyhow
libraries: 'weather,geometry,visualization'
});
});
Google Maps SDK何时准备就绪?:
.controller("someController", function($scope, uiGmapGoogleMapApi) {
uiGmapGoogleMapApi.then(function(maps) {
// write your code here
// (google is defined)
});
});
您也可以阅读此http://angular-ui.github.io/angular-google-maps/#!/api/GoogleMapApi