我怎样才能避免在.map.fitBounds()上缩小? 执行this.map.fitBounds将放大或缩小地图以拟合边界值。我想避免使用fitBounds的缩小功能。我怎么能这样做?
尝试了以下。这将在执行fitBounds()后执行。需要在执行fitBounds()
之前执行var lineBounds = this._trail.getLineBounds()
, current_zoom = this.map.getZoom()
, center = this.map.getCenter();
this.map.fitBounds(lineBounds, {
padding: [29, 29],
});
this.map.once('zoomend', function() {
if (current_zoom > this.map.getZoom()) {
this.map.setView(center, current_zoom);
}
}.bind(this));
答案 0 :(得分:1)
您必须为地图实例设置minZoom
选项。问题是您需要手动编辑地图实例的选项对象。 Leaflet v1.0.0-beta.2中引入了setMinZoom
和setMaxZoom
方法,Mapbox尚未使用该版本。否则你只需执行map.setMinZoom(number)
,现在你将不得不诉诸map.options.minZoom = number
。因此,在拟合边界后,使用map.getZoom
方法获取地图的当前缩放因子,并将该因子值设置为minZoom
选项。