【发布时间】:2019-07-19 02:00:07
【问题描述】:
我已经构建了一个 Asp.net MVC 视图,其中我有来自 Azure 地图的地图。我还有一个侧边栏,我可以将它折叠起来变小。
折叠栏的代码如下(包含在 _layout 文件中):
function collapse2() {
$('#sidebar').toggleClass('active');
$('#content').toggleClass('active');
}
window.onload = function () {
$("#sidebarCollapse").on('click', collapse2);
}
在视图中我添加了以下 javascript。
function resize() {
map.map.resize();
}
$(document).ready(function () {
GetMap();
$(document).click('#resizea', resize);
$(document).click('#sidebarCollapse', resize);
});
当我按下 ID 为 sidebarCollapse 的侧边栏时,侧边栏会折叠,但地图不会调整大小(它不会拉伸 100 %)。但是,如果我在折叠后单击 ID 为 resizea 的链接标签,则地图的大小会调整为正确的大小。
谁能引导我朝着正确的方向前进?
提前感谢!
【问题讨论】:
-
我怀疑当你在地图上调用resize函数时,地图所在的div还没有调整大小。这可以解释你的问题。另外,尝试使用 map.resize() 而不是 map.map.resize()。不是 100% 确定您为什么拥有 map.map,但地图控件中有一个隐藏功能与渲染引擎相关联,它还具有调整大小功能,但我不相信它会满足您的需求。跨度>
-
我认为您走在正确的道路上。有没有办法知道 div 已经调整大小或等到它调整大小?我使用 map.map.resize() 是因为:social.msdn.microsoft.com/Forums/en-US/… 我测试了 map,map.resize 和 map.resize 似乎都以相同的方式工作。
标签: javascript jquery asp.net asp.net-mvc-4 azure-maps