Angular Google 地图不会显示任何内容
Angular Google Maps won't show anything
据我所知,下面的代码是 运行 Angular Google 地图所需的最少代码,但它不会在屏幕上显示地图。查看 Chrome 中的#my-map 组件,它显示 0x0px,尽管有 css 和动态高度声明,但我无法更改它。除此之外,它似乎 运行 没问题,没有控制台错误,appMaps 模块至少已正确初始化。
<!DOCTYPE html>
html>
<head>
<title>New Map</title>
<style>
html, body {
height: 2000px;
width: 100%;
margin: 0;
padding: 0;
}
.angular-google-map-container { height: 400px; }
</style>
<script src="lodash/lodash.js"></script>
<script src="angular/angular.js"></script>
<script src="angular-google-maps/dist/angular-google-maps.js"></script>
<script>
var appMaps = angular.module('appMaps', ['uiGmapgoogle-maps']);
appMaps.config(function(uiGmapGoogleMapApiProvider) {
uiGmapGoogleMapApiProvider.configure({
key: 'My Key Is Entered Here',
v: '3.20',
libraries: 'weather,geometry,visualization'
});
});
appMaps.controller('mainCtrl', function($scope) {
$scope.map = { center: { latitude: 45, longitude: -73 }, zoom: 8 };
$scope.$on('$viewContentLoaded', function () {
var mapHeight = 400; // or any other calculated value
$("#my-map .angular-google-map-container").height(mapHeight);
});
});
</script>
</head>
<body>
<h1>TEST</h1>
<div id="map_canvas" ng-controller="mainCtrl">
<ui-gmap-google-map id="my-map" center="map.center" zoom="map.zoom"></ui-gmap-google-map>
</div>
</body>
</html>
编辑:是的,所以 Roux 是正确的,在顶部添加了 google 映射 API 脚本(带密钥)和 angular-simple-logger在 angular 之后,这让我非常接近。然后我只需要将 ng-app="appMaps" 添加到 body 元素(一般来说我是 angular 的新手)并且它起作用了。谢谢!
通过关注Quickstart,您可以看到您错过了几个library/api。
- 在您的项目中添加 angular-simple-logger.js(我认为它带有 angular-ui 包或 angular-google-地图)
- 不要忘记添加 google api,没有它,什么都行不通。
<script src='//maps.googleapis.com/maps/api/js?sensor=false'></script>
据我所知,下面的代码是 运行 Angular Google 地图所需的最少代码,但它不会在屏幕上显示地图。查看 Chrome 中的#my-map 组件,它显示 0x0px,尽管有 css 和动态高度声明,但我无法更改它。除此之外,它似乎 运行 没问题,没有控制台错误,appMaps 模块至少已正确初始化。
<!DOCTYPE html>
html>
<head>
<title>New Map</title>
<style>
html, body {
height: 2000px;
width: 100%;
margin: 0;
padding: 0;
}
.angular-google-map-container { height: 400px; }
</style>
<script src="lodash/lodash.js"></script>
<script src="angular/angular.js"></script>
<script src="angular-google-maps/dist/angular-google-maps.js"></script>
<script>
var appMaps = angular.module('appMaps', ['uiGmapgoogle-maps']);
appMaps.config(function(uiGmapGoogleMapApiProvider) {
uiGmapGoogleMapApiProvider.configure({
key: 'My Key Is Entered Here',
v: '3.20',
libraries: 'weather,geometry,visualization'
});
});
appMaps.controller('mainCtrl', function($scope) {
$scope.map = { center: { latitude: 45, longitude: -73 }, zoom: 8 };
$scope.$on('$viewContentLoaded', function () {
var mapHeight = 400; // or any other calculated value
$("#my-map .angular-google-map-container").height(mapHeight);
});
});
</script>
</head>
<body>
<h1>TEST</h1>
<div id="map_canvas" ng-controller="mainCtrl">
<ui-gmap-google-map id="my-map" center="map.center" zoom="map.zoom"></ui-gmap-google-map>
</div>
</body>
</html>
编辑:是的,所以 Roux 是正确的,在顶部添加了 google 映射 API 脚本(带密钥)和 angular-simple-logger在 angular 之后,这让我非常接近。然后我只需要将 ng-app="appMaps" 添加到 body 元素(一般来说我是 angular 的新手)并且它起作用了。谢谢!
通过关注Quickstart,您可以看到您错过了几个library/api。
- 在您的项目中添加 angular-simple-logger.js(我认为它带有 angular-ui 包或 angular-google-地图)
- 不要忘记添加 google api,没有它,什么都行不通。
<script src='//maps.googleapis.com/maps/api/js?sensor=false'></script>