首页 > 解决方案 > 它可能在 L.geoJson 上添加 .setView 吗?

问题描述

对不起,又是我,这次我需要在 L.geoJson 上添加某种类型的 .SetView,以便更清楚。每次单击项目时,我都会尝试让 L.control.layers 重定向视图(坐标),我认为这样做的正确方法是:

var rutavistaimss = L.geoJson(rutavs,{color:'#1212fe'}).setView([25.4197,-100.991295], 13);

但不起作用。

她这是我的代码:

var rutavistaimss = L.geoJson(rutavs,{color:'#1212fe'}); 
var rutavspos = L.geoJson(rutavspostal,{color:'#1212fe'});
var rutavscen = L.geoJson(rutavscentro,{color:'#1212fe'});
var ruta8ampli = L.geoJson(ruta8AmpMo,{color:'#6d418b'});
var ruta8moimss = L.geoJson(ruta8imss,{color:'#6d418b'});
var ruta18D = L.geoJson(ruta18d,{color:'green'});
var rutaperife = L.geoJson(rutaperi,{color:'#de3030'});
var rutamirasi = L.geoJson(rutamira,{color:'#f2ec00'});




//paradas de ruta vista imss
var paradasrutavs = paradasrutavspre;

var rutatodoeuno = L.layerGroup([paradasrutavspre,rutavistaimss]);


var capaderutas = {
    "ruta vista imss": rutatodoeuno,
    'ruta vista postal':rutavspos,
    'ruta vista centro':rutavscen,
    "ruta 18 directa": ruta18D ,
    "ruta periferico": rutaperife,
    "ruta mira sierra": rutamirasi,
    "ruta 8 ampliacion morelos": ruta8ampli,
    'ruta 8 morelos imss':ruta8moimss
};

L.control.layers(null,capaderutas,{collapsed: false}).addTo(map);

我希望任何人都可以帮助我,并感谢您的时间。

标签: javascriptleaflet

解决方案


图层控件有一些有用的事件。如果您只是想让视图平移/缩放以包含您选择的叠加层上的功能,您可以这样做:

无论您在哪里实例化地图

map.on('overlayadd', function(e) {
  map.fitBounds(e.layer.getBounds());
});

推荐阅读