Javascript 地图框:使用fitBounds重新设置地图中心后缩小一层
我正在使用Mapbox GL JS,并根据他们的商店定位器演示创建了一个动态商店定位器。我使用fitBounds在地图的初始显示中包含所有存储标记 问题是,它放大得太近,地图需要一些填充。所以,我试着把变焦缩小一级。问题是,当我获得缩放级别并调出一个时,地图会重新居中到地图的原始中心 我在下面的代码中尝试将中心重置为fitBounds中心,但它不起作用。知道我做错了什么吗Javascript 地图框:使用fitBounds重新设置地图中心后缩小一层,javascript,mapbox,mapbox-gl-js,Javascript,Mapbox,Mapbox Gl Js,我正在使用Mapbox GL JS,并根据他们的商店定位器演示创建了一个动态商店定位器。我使用fitBounds在地图的初始显示中包含所有存储标记 问题是,它放大得太近,地图需要一些填充。所以,我试着把变焦缩小一级。问题是,当我获得缩放级别并调出一个时,地图会重新居中到地图的原始中心 我在下面的代码中尝试将中心重置为fitBounds中心,但它不起作用。知道我做错了什么吗 var bounds = new mapboxgl.LngLatBounds(); $(markers).each(func
var bounds = new mapboxgl.LngLatBounds();
$(markers).each(function() {
var features = $(this);
bounds.extend(features[0].geometry.coordinates);
});
map.fitBounds(bounds);
var mapLat = map.getBounds().getCenter().lat;
var mapLong = map.getBounds().getCenter().long;
map.setCenter = (mapLat, mapLong);
var mapZoom = map.getZoom();
newZoom = mapZoom - 1;
map.setZoom(newZoom);
如果您想要实现的只是向边界添加填充,则mapbox gl在
fitBounds
中为此提供了一个选项:
map.fitBounds(bounds, {padding: 100}) // adds 100px padding to the bounds
以下是文档:如果您只想在边界中添加填充,mapbox gl在
fitBounds
中为此提供了一个选项:
map.fitBounds(bounds, {padding: 100}) // adds 100px padding to the bounds
这是文档:谢谢!这正是我所需要的!非常感谢。这正是我所需要的!