我有一个'mapwrap'div设置为400px x 400px,在里面我有一个Google'地图'设置为100%x 100%.因此地图加载为400 x 400px,然后使用JavaScript我将'mapwrap'调整为屏幕的100%x 100% - 谷歌地图按照我的预期调整到整个屏幕,但是瓷砖开始消失在右边缘之前页.
我可以调用一个简单的函数来使Google地图重新调整到更大尺寸的"mapwrap"div吗?
我最初用ng-hide隐藏了地图.当ng-hide-expression的计算结果为true时,地图未正确显示.它只是部分显示,拖动时行为也很奇怪.当我删除ng-show属性时,地图显示正确.
HTML:
<div ng-controller="MapCtrl">
<button ng-click="showMap()">Show map</button>
<div ng-show="showMapVar">
<div ng-repeat="marker in myMarkers" ui-map-marker="myMarkers[$index]"
ui-event="{}">
</div>
<div id="map_canvas" ui-map="myMap" style="height:200px;width:300px"
ui-event="{}" ui-options="mapOptions">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
angular.module('doc.ui-map', ['ui.map'])
.controller('MapCtrl', ['$scope', function ($scope) {
$scope.myMarkers = [];
$scope.mapOptions = {
center: new google.maps.LatLng(35.784, -78.670),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
$scope.showMap = function(){
$scope.showMapVar = true;
}
}]) ;
Run Code Online (Sandbox Code Playgroud)