gpt4 book ai didi

javascript - 为什么我必须重新加载页面才能正确显示 map ?

转载 作者:行者123 更新时间:2023-11-29 19:33:08 24 4
gpt4 key购买 nike

我已经问过这个问题了here , 不幸的是问题没能解决,所以我在这里问:)

我有一个 JQM 页面,我在其中显示了一张 map 。愚蠢的是,为了正确显示 map ,我必须重新加载页面。

这是 map 在第一次加载页面时的显示方式: Site before reload

这是刷新页面后的显示方式: Site before reload

这是我的代码:

var map;
require([
"esri/map",
"dojo/dom",
"esri/layers/ArcGISTiledMapServiceLayer",
"dojo/domReady!"
],
function (Map, dom, Tiled) {
map = new Map("map", {
logo: false,
minZoom: 1,
maxZoom: 11
});
var luftbild = new Tiled(URL);
map.addLayer(luftbild);
});

这就是我设计 map 的方式:

<style>
html, body, #map {
padding: 0;
margin: 0;
height: 100%;
}
</style>

以及我如何显示它:

<div data-role="page" style="background-color:red" ...>
<!--Header-->
....
<!--/Header-->
<!--Content-->
<div id="map">
</div>
<!--/Content-->
</div>

编辑:

放置此行代码后:

$(document).on("pageshow","#page",function(){ // initialize map and show
});

map 现在看起来像这样: enter image description here

是否可以将宽度和高度设置为100%?

最佳答案

map 需要一个定义了宽度和高度的 Canvas 。在 Jquery 中,移动处理页面的方式与普通 html 页面不同。即一页(即数据 Angular 色=页面的 div)一次可见,其他页面则不可见。因此,在任何页面上初始化 map 都应该使用名为 pageshow 的 jquery 移动特定页面事件来完成

$(document).on("pageshow","#page",function(){ // initialize map and show
});

关于javascript - 为什么我必须重新加载页面才能正确显示 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com