我正在尝试使用 Angular JS 在点击时显示谷歌地图。但我的函数似乎是基于函数调用(通过 ng-show)切换可见性。这意味着我的“调整大小”事件的触发器在地图 div 实际可见之前执行,因此它无法正常工作。
$scope.mapVisible = false;
$scope.toggleMap = function() {
$scope.myMap.panTo($scope.myMarkers[0].getPosition());
$scope.mapVisible = !$scope.mapVisible;
// this executes too soon. How to block until the div is really visible?
google.maps.event.trigger($scope.myMap, 'resize');
}
<div ng-show="mapVisible">
<!-- map here -->
</div>
那么如何阻止在我的地图上触发“调整大小”事件,直到 div 真正可见?