วิธีรีเฟรชแผนที่เมื่อคุณปรับขนาด div
แค่โทรไปยังไม่พอgoogle.maps.event.trigger(map, 'resize');
คุณควรรีเซ็ตจุดศูนย์กลางของแผนที่ด้วย
var map;
var initialize= function (){
...
}
var resize = function () {
if (typeof(map) == "undefined") {) {
// initialize the map. You only need this if you may not have initialized your map when resize() is called.
initialize();
} else {
// okay, we've got a map and we need to resize it
var center = map.getCenter();
google.maps.event.trigger(map, 'resize');
map.setCenter(center);
}
}
วิธีฟังเหตุการณ์การปรับขนาด
Angular (การยุบตัวของ ng-show หรือ ui-bootstrap)
เชื่อมโยงโดยตรงกับการมองเห็นขององค์ประกอบแทนที่จะเป็นค่าที่ผูกไว้กับ ng-show เนื่องจาก $ watch สามารถเริ่มทำงานได้ก่อนที่จะอัปเดต ng-show (ดังนั้น div จะยังคงมองไม่เห็น)
scope.$watch(function () { return element.is(':visible'); },
function () {
resize();
}
);
jQuery .show ()
ใช้การโทรกลับในตัว
$("#myMapDiv").show(speed, function() { resize(); });
Bootstrap 3 Modal
$('#myModal').on('shown.bs.modal', function() {
resize();
})