我正在使用地理编码来显示显示用户位置的Google地图。我正在寻找带有滑动菜单的地图。我遇到的问题是当你打开滑动菜单时,地图只会占据左上角的一个小区域,但只要你调整浏览器窗口的大小,地图就会像我想要的那样占据整个区域。无论您以何种方式调整浏览器窗口的大小,即使将其缩小,也会发生这种情况。如果您需要查看更多我的代码,请告诉我:
滑动菜单功能
$(document).ready(function()
{
$(".content").hide(); //updated line, removing the #panel ID.
$('#tab').toggle(function() //adding a toggle function to the #tab
{
$('#panel').stop().animate(
{
width:"800px", opacity:0.8 //to adjust width of bar
}
, 500, function() //sliding the #panel to 200px
{
$('.content').fadeIn('slow'); //slides the content into view.
});
},
function() //when the #tab is next cliked
{
$('.content').fadeOut('slow', function() //fade out the content
{
$('#panel').stop().animate(
{
width:"0", opacity:0.1 //slide the #panel back to a width of 0
}
, 500);
});
});
});
滑动菜单html
<div id="panel">
<div class="content">
<div id="mapContainer"></div>
</div>
</div>
CSS
#tab {
width: 30px;
height: 100px;
position: fixed;
left: 0px;
top: 100px;
display: block;
cursor: pointer;
background-color: #ff0000;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
#panel {
position: fixed;
left: 0px;
top: 50px;
background-color: #ffffff;
height: 500px;
width: 0px;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
#mapContainer {
height: 500px;
width: 800px;
border:10px solid #eaeaea;
}
答案 0 :(得分:0)
地图容器需要宽度和高度才能正确显示地图,但似乎动画干扰了这些值。
当调整浏览器大小时,地图有效,因为正确设置了宽度和高度并且引发了resize事件。
解决问题的最快方法是在动画结束时调用resize方法:
google.maps.event.trigger(map, 'resize');
JSFiddle更新:http://jsfiddle.net/uADHv/2/