Jak odświeżyć mapę podczas zmiany rozmiaru div
Nie wystarczy tylko zadzwonić. google.maps.event.trigger(map, 'resize');
Powinieneś także zresetować środek mapy.
var map;
var initialize= function (){
...
}
var resize = function () {
if (typeof(map) == "undefined") {) {
initialize();
} else {
var center = map.getCenter();
google.maps.event.trigger(map, 'resize');
map.setCenter(center);
}
}
Jak nasłuchiwać zdarzenia zmiany rozmiaru
Angular (zwijanie ng-show lub ui-bootstrap)
Powiąż bezpośrednio z widocznością elementu, a nie z wartością przypisaną do ng-show, ponieważ $ watch może uruchomić się przed zaktualizowaniem ng-show (więc element div będzie nadal niewidoczny).
scope.$watch(function () { return element.is(':visible'); },
function () {
resize();
}
);
jQuery .show ()
Użyj wbudowanego wywołania zwrotnego
$("#myMapDiv").show(speed, function() { resize(); });
Bootstrap 3 Modal
$('#myModal').on('shown.bs.modal', function() {
resize();
})