【发布时间】:2015-07-31 21:12:46
【问题描述】:
如何将 Google Maps API 与 AngularJS 一起使用?
我在我的 AngularJS 应用程序中使用此代码:
<style>
#googleMap {
width: 200px;
height: 200px;
}
</style>
<div id="googleMap"></div>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js"></script>
<script language="javascript">
var map;
function initialize() {
var mapOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
map = new google.maps.Map(document.getElementById('googleMap'), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
此代码在视图中,而不是在控制器中。
我在视图中有其他功能并且它们可以工作,但谷歌地图仍然无法正常工作。
这是我在浏览器控制台中遇到的错误:
错误:未定义 google @http://localhost:3000/js/jquery-1.11.2.min.js 第 2 行 > eval:10:2 .globalEval/http://localhost:3000/js/jquery-1.11.2.min.js:2:2615 .globalEval@http://localhost:3000/js/jquery-1.11.2.min.js:2:2589 .domManip@http://localhost:3000/js/jquery-1.11.2.min.js:3:23105 .after@http://localhost:3000/js/jquery-1.11.2.min.js:3:21067 Cehttp://localhost:3000/js/angular/lib/angular.min.js:176:70 n@http://localhost:3000/js/angular/lib/angular-route-segment.min.js:7:5868 .compile/http://localhost:3000/js/angular/lib/angular-route-segment.min.js:7:6428 Pe/this.$gethttp://localhost:3000/js/angular/lib/angular.min.js:128:120 电话@http://localhost:3000/js/angular/lib/angular-route-segment.min.js:7:2649 this.$gethttp://localhost:3000/js/angular/lib/angular-route-segment.min.js:7:3989 f/http://localhost:3000/js/angular/lib/angular.min.js:112:20 Pe/this.$gethttp://localhost:3000/js/angular/lib/angular.min.js:125:301 Pe/this.$gethttp://localhost:3000/js/angular/lib/angular.min.js:122:390 Pe/this.$gethttp://localhost:3000/js/angular/lib/angular.min.js:126:56 l@http://localhost:3000/js/angular/lib/angular.min.js:81:169 S@http://localhost:3000/js/angular/lib/angular.min.js:85:301 vf/http://localhost:3000/js/angular/lib/angular.min.js:86:315
我做错了什么?
我在网上搜索过,但似乎每个人都在使用诸如 angular-google-map 或 ui-map 之类的库。为什么没有人使用直接 API?
【问题讨论】:
-
您是否在页面顶部包含 Google Map javascript?
-
部分没有。但我也试过用头脑写。但不工作。什么都没有显示。 div 容器可见,但 div 中没有地图。 @UsainBloot
-
是否有可能拥有您的代码,也许在 plunklr 中?由于错误表明 var google 尚未定义,这通常意味着 Google 的 Map JavaScript 未正确加载(或未在正确的时间)
-
现在我又重新启动了服务器,现在最上面的错误行是这个。 “错误:无效的属性 ID。抱歉,无法发布总代码。它很大。我可以尝试重新生成一个较小的代码。
-
是否有可能当角度读取脚本时地图不可用?因为地图js是一个链接所以可能当时没有下载。我在网上搜索过,但每个人都在使用任何库,如 angular-google-map、ui-map 等。但为什么不直接写在任何地方
标签: javascript angularjs google-maps google-maps-api-3