【发布时间】:2013-04-08 22:44:34
【问题描述】:
我有一个 PhoneGap 应用程序,它使用 JQuery mobile 在页面之间导航。
当我从主页导航到包含 Google 地图的页面时,地图在左上角一次只显示一个图块,如下所示:
这可能是什么原因?
**
源代码: 以下脚本在我的页面头部
<script>
$(document).on("pageinit", "#stores", function () {
var centerLocation = new google.maps.LatLng('57.77828', '14.17200');
var myOptions = {
center: centerLocation,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
callback: function () { alert('callback'); }
};
map_element = document.getElementById("map_canvas");
map = new google.maps.Map(map_element, myOptions);
var mapwidth = $(window).width();
var mapheight = $(window).height();
$("#map_canvas").height(mapheight);
$("#map_canvas").width(mapwidth);
google.maps.event.trigger(map, 'resize');
});
</script>
我的主页是这样的
<!-- Home -->
<div data-role="page" id="home">
.
.
.
</div>
<div data-role="page" id="stores">
<div data-role="content" id="map_canvas"></div>
</div>
我像这样从主页导航到地图页面:
<a href="#stores">Stores</a>
更新 应用 Gajotres 解决方案后,瓷砖变成这样
【问题讨论】:
-
向我们展示您的 javascript 和 HTML 代码。
-
我添加了代码,请查看修改后的问题
-
我自己也遇到过类似的问题。我发现当页面初始化时,地图会根据它认为当前可用的大小来调整大小,但如果你以后让它可见,它不会自动调整大小。
google.maps.event.trigger(map, "resize");应该为您做类似的事情,但是当您使地图可见时您必须调用它。
标签: android cordova jquery-mobile google-maps-api-3 jquery-mobile-pageshow