gpt4 book ai didi

Leaflet Map 元素位于 DOM 中但不渲染?

转载 作者:行者123 更新时间:2023-12-02 17:16:34 24 4
gpt4 key购买 nike

Leaflet 正在渲染,因为我可以在 DOM 中看到它的所有元素,但除此之外什么都没有。我看到的都是灰色的。

让 map 图 block 显示的唯一方法是删除 map 容器上的position:absolute,但这会创建一堆困惑的 map 图 block 。我检查了 GIT 历史记录,看看是否不小心更改了样式,但没有成功。

这是初始化 map 的代码:

// init everything on page show
$("#map").live('pageshow',function() {
if(window.localStorage.getItem("lat")!=undefined) { var lat = window.localStorage.getItem("lat")} else { var lat = '49.264'; }
if(window.localStorage.getItem("lng")!=undefined) { var lng = window.localStorage.getItem("lng")} else { var lng = '-123.123'; }
try {
var map = window.map
map = new L.Map('map-container');
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/006282296d334e66a593e55aca6b5ce0/54803/256/{z}/{x}/{y}.png';
var cloudmadeAttribution = 'Map Data © 2011 OpenStreetMap';
var cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution});
map.setView(new L.LatLng(lat, lng), 12).addLayer(cloudmade);
map.invalidateSize();
} catch(e) {console.log(e)}
userMarkers[1] = new L.Marker( new L.LatLng( lat,lng ) , {icon: new iconUser, clickable: true} );
map.addLayer( userMarkers[1] );
});

该环境包括 jQuery mobile。不幸的是,控制台没有记录任何错误,并且当我检查上面的 localStorage 时,它​​确实保存了有效的 LatLng 值。

截图: screenshot

有什么猜测吗?

最佳答案

我不确定问题是如何开始的,但为了解决它,我删除了所有 map 容器样式,然后声明:

#map-container {
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin: 0;
padding: 0;
}

现在问题已经解决了。我以前从未使用过此类样式,因此我无法推测问题是如何开始的。

关于Leaflet Map 元素位于 DOM 中但不渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10320957/

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