angular-google-maps теперь правильно отображается, когда он скрыт при запуске
Когда карта начинает скрываться с помощью ng-show / ng-hide, она не отображается правильно, когда она видна. Та же проблема со стандартной картой, только мы можем отправить ей изменение размера, так как у нас есть доступ к объекту карты.
Вот пример, который начинается со скрытой карты. Кнопка переключает видимость карты.
<!doctype html>
<html>
<head>
<style>
.angular-google-map-container {
width: 100%;
height: 100px;
}
.mymap {
width: 100%;
height: 100px;
}
</style>
</head>
<body ng-app="app" ng-controller="myCtrl">
<button ng-click="visible = !visible">ToogleMap</button>
<div ng-show="visible">
<google-map center="map.center" zoom="map.zoom"></google-map>
<div class="mymap"></div>
</div>
<script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular.min.js'></script>
<script src='http://maps.googleapis.com/maps/api/js?sensor=false'></script>
<script src='http://underscorejs.org/underscore-min.js'></script>
<script src='https://rawgithub.com/nlaplante/angular-google-maps/master/dist/angular-google-maps.min.js'></script>
<script>
var app = angular.module("app", ["google-maps"]);
app.controller("myCtrl", function($scope, $timeout) {
$scope.map = {
center: {
latitude: 45.4,
longitude: -71.9
},
zoom: 11
};
$scope.visible = false;
});
</script>
</body>
</html>
С google-maps в js я бы отправил изменение размера на объект карты, но у меня нет доступа к нему в angular-google-maps.