小编Awr*_*ght的帖子

调整 Container Div 大小时,地图中心和边界不会更新

(对于 Mapbox 和 JS 来说相当新,所以我有点不知所措)我正在开发一个页面,用户需要调整地图容器的大小。它需要能够获得调整大小的地图的准确边界和中心点(通过map.getBounds和map.getCenter)。

当我使用JS调整容器div的大小时,中心和边界没有调整。小提琴: http: //jsfiddle.net/xcow63sm/3/

平移/缩放会导致更新的中心和边界。浏览器窗口调整大小(如果将宽度或高度设置为 100%)也可以。我希望更改容器尺寸会调整中心和边界。

但是,如果您使用表单字段来调整容器 div 的高度/宽度,则中心和边界不会。我尝试过(越来越绝望):

function resize (){
var inputwidth = document.getElementsByName("mapwidth")[0].value;
var inputheight = document.getElementsByName("mapheight")[0].value;
var mapDiv = document.getElementById('map');
var mapcenter = map.getCenter();
mapDiv.style.width = inputwidth;
mapDiv.style.height = inputheight;
map.updateSize();
map.update();
map.resize();
map.invalidateSize();
document.getElementById("mapcenter").value = mapcenter;
Run Code Online (Sandbox Code Playgroud)

编辑:这似乎适用,但我无法理解它:Resizing a leaflet map on container resize

mapbox-gl-js

3
推荐指数
1
解决办法
4816
查看次数

标签 统计

mapbox-gl-js ×1