Leaflet 传单-切换图层时缩放/平移到图层范围

Leaflet 传单-切换图层时缩放/平移到图层范围,leaflet,fitbounds,Leaflet,Fitbounds,我正在绘制公交路线图,并且有几个用户可以打开和关闭的路线。我想了解如何缩放/平移,以便选择的路线(或多条路线)在选择时完全显示在屏幕上。(有些在屏幕外显示初始缩放级别) 以下是迄今为止的神奇之处: var busRoute10 = L.geoJson([route10, busStop3, busStop4],{onEachFeature: onEachFeature}); var busRoute11 = L.geoJson([route11, busStop19, busStop16, bu

我正在绘制公交路线图,并且有几个用户可以打开和关闭的路线。我想了解如何缩放/平移,以便选择的路线(或多条路线)在选择时完全显示在屏幕上。(有些在屏幕外显示初始缩放级别)

以下是迄今为止的神奇之处:

var busRoute10 = L.geoJson([route10, busStop3, busStop4],{onEachFeature: onEachFeature});
var busRoute11 = L.geoJson([route11, busStop19, busStop16, busStop18, busStop22],{onEachFeature: onEachFeature});
var busRoute12 = L.geoJson([route12, busStop23, busStop42, busStop43, busStop15, busStop28, busStop27, busStop22, busStop16],{onEachFeature: onEachFeature});
var busRoute13 = L.geoJson([route13, busStop44, busStop31, busStop25, busStop26, busStop36],{onEachFeature: onEachFeature});


var baseLayers = {
"Route 10": busRoute10,
"Route 11": busRoute12,
"Route 12<hr>": busRoute14,
"Route 13": busRoute20,
};

L.control.layers(null, baseLayers, {collapsed: false}).setPosition ('topright').addTo(map);
var busRoute10=L.geoJson([route10,busStop3,busStop4],{onEachFeature:onEachFeature});
var busRoute11=L.geoJson([route11,busStop19,busStop16,busStop18,busStop22],{onEachFeature:onEachFeature});
var busRoute12=L.geoJson([route12,busStop23,busStop42,busStop43,busStop15,busStop28,busStop27,busStop22,busStop16],{onEachFeature:onEachFeature});
var busRoute13=L.geoJson([route13,busStop44,busStop31,busStop25,busStop26,busStop36],{onEachFeature:onEachFeature});
var baseLayers={
“10号线”:公交线路10,
“11号干线”:12号干线,
“路线12
”:巴士路线14, “13号干线”:20号母线, }; L.control.layers(null,baseLayers,{collapsed:false}).setPosition('topright').addTo(map);
我尝试了map.fitBounds的多种组合,但似乎无法获得它

还有,有没有办法向控制框添加标题和副标题?我希望控件看起来像:


[]路线10
[]11号干线
夜晚

[]12号干线。。。etc

您应该在map的事件上附加一个侦听器。然后可以使用
事件.layer.getBounds()
执行
映射.fitbunds()
,因为您的层是GeoJSON组

至于在“层”控件中组织层,使用默认控件是不可能的。但是你可以看看