我正在写一个需要地图的jquery移动应用程序。Google地图与jquery.mobile:如何正确调整地图画布的大小?
对于地图我计划使用Google地图服务。
为了考虑方向的变化,我试图用这样的:
<script>
$('#page-map').live('pagecreate', function(event) {
var map = $('#map_canvas').gmap({
...
});
...
$(window).resize(function() {
$('#map_canvas').width($(window).width());
$('#map_canvas').height($(window).height());
});
)};
</script>
问题:这段代码正确调整大小时,该设备被旋转的地图画布,但它看起来像jQuery Mobile的调整大小()是跳过(网址栏可见,例如...)。
即使不添加到“调整(函数(){”的代码是这样的:
google.maps.event.trigger(map, 'resize');
是任何帮助
更新: 问题只发生在仅移动设备我正在测试我的页面 - 一个三星Galaxy Mini(GT-S5570),Android 2.3.4(姜饼)。它确实不是发生在桌面PC上调整窗口大小时(即:在桌面浏览器map_canvas是正确的当浏览器的窗口放大时填充,即使没有È调整大小()结合,只由于在上map_canvas提供100%的宽度/高度...)
如果当窗口大小发生变化时(例如,因为设备将方向从纵向更改为横向),您不调整#map_canvas的大小,地图将不会填充地理数据,窗口右侧会留下空白条带... – MarcoS
对不起:您是否使用移动设备?如果是这样,CSS如果足以让您在方向更改时填充map_canvas(并且隐藏了url栏)?如果是这样,我可以问一下我们的设备(iPhone/Blackberry/Android/...)吗? – MarcoS