我正在使用tabber.js将选项卡添加到我的 InfoWindows,并使用以下代码确保在 InfoWindow 的 DOM 准备好后呈现选项卡:
infowindow.id = marker.markerid;
infowindow.open(map, marker);
google.maps.event.addListener(infowindow, 'domready', function () {
tabberAutomatic({div: document.getElementById(marker.markerid)});
});
使用 Google Maps API,InfoWindow 的高度是在 InfoWindow打开时根据其内容自动计算的,而不是在 DOM 准备好时。结果是 InfoWindow 的大小大约是它应该大小的两倍,因为高度基本上是每个选项卡中所有内容的高度之和。呈现选项卡时,我在 InfoWindow 中留下了很多空白。
所以我需要做的是强制 InfoWindow 在呈现选项卡后重新计算它的高度。这可能吗?
更新:这个小提琴说明了我的问题。在这种情况下,如何强制 InfoWindow 正确计算它的高度?显式设置 maxHeight 或等效项不是一个选项,因为 InfoWindow 的内容是动态生成的。