【发布时间】:2013-07-23 05:14:51
【问题描述】:
在添加 panel 之前,地图显示正常。现在,只要我在页面上添加panel div,地图就会像这样显示:
它只是在顶部杂乱无章,在下面留下了很大的空间。图像左上角的按钮用于打开可以正常打开的面板。抱歉,图像工作不完整。
html如下:
<body>
<div data-role="page" id="map-page" data-url="map-page">
<div data-role="panel" id="mypanel">
<!-- This is the problematic panel-->
</div><!-- /panel -->
<div data-role="header">
<a href="#mypanel" data-role="button" data-icon="bars" data-iconpos="notext">Choose Station</a>
<h1>The Header</h1>
<a href="index.html" data-ajax="false" data-role="button" data-icon="refresh" data-iconpos="notext">Refresh</a>
</div><!-- /header -->
<div data-role="content" id="map-canvas"> <!--Div for map display.-->
</div><!-- /content -->
<div data-role="footer" data-id="myfooter" class="ui-bar" data-position="fixed">
<h4>© 2013</h4>
</div><!-- /footer -->
</div><!-- /page -->
</body>
我的自定义 CSS
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-page, #map-canvas { height: 100% }
否则我使用默认的jquery.mobile-1.3.1.min.css。我可能知道这很可能是因为 css,但无法弄清楚。
【问题讨论】:
-
尝试将地图画布放在内容 div 中。换句话说,保持内容 div 不变。
-
你的意思是这样
<div data-role="content"><div id="map-canvas"> </div></div>。在这种情况下,地图根本不显示。 -
那么你需要在
pageshow上显示地图,设置内容div的高度。 -
我创建地图和标记的所有逻辑都在
pageinit中。您能否提供一个快速提示如何做到这一点? -
尝试将
pageinit替换为pageshow并将其绑定到#map-page。$(document).on('pageshow', '#map-page', function ().
标签: jquery html css jquery-mobile google-maps-api-3