我正在使用 Bootstrap 组件。有一个标签,其中有标签。在其中一个选项卡中,有一个 Yandex 地图。问题是缩放页面时,或者切换标签后,它仍然保留在标记中(所有后台操作都在其上执行),但没有直观显示。为了再次显示它,有必要对页面缩放进行操作。
var myMapDev;
function InitMapDevice() {
myMapDev = new ymaps.Map('MapDevice', {
center: [1, 1],
zoom: 11,
controls: []
},
{
searchControlProvider: 'yandex#search'
});
}
$(document).ready(function()
{
InitMapDevice();
});
$('#ControlMenu > li > a').click(function () {
var CurrHrT = $(this).attr('href');
if (CurrHrT == '#Map') {
$('#LeftMenu').css('display','none');
$('#Map').css('display', 'block'); //В этом элементе DIV находится карта <div id="MapDevice"></div>
}
else {
$('#LeftMenu').css('display', 'block');
$('#Map').css('display', 'none');
}
});
存在同样的问题(由于某些原因,Yandex 存在限制)。
通过每次显示 tab-a 时重新初始化地图来解决。因此,您可以在隐藏时取消初始化并在激活选项卡时重新初始化。
做出如下决定,当切换选项卡或出现特定容器时,调用以下函数: