他们在一个变量中添加L,geoJson和L.icon并显示/隐藏L.control.layers

时间:2019-09-10 04:50:58

标签: javascript leaflet

我的英语不是最好的,但我会尽力描述问题。

好吧,我尝试仅在一个变量中添加两种类型的传单功能,并显示/隐藏所有由L.control.layers进行控制的问题,她的问题是L.control。层仅显示L.geoJson或L.icon,但不能同时显示

var rutavistaimss = L.geoJson(rutavs,{color:'red'}); 
var ruta18D = L.geoJson(ruta18d,{color:'green'}); 
var rutaperife = L.geoJson(rutaperi,{color:'blue'}); 
var rutamirasi = L.geoJson(rutamira,{color:'#2cd176'}); 
var ruta8ampli = L.geoJson(ruta8AmpMo,{color:'#6d418b'});

var mki=L.icon.mapkey({icon:"bus",color:'#725139',background:'#f2c357',size:30}); 
var paradasrutavs= L.marker([25.41437583170945,-100.9632524322901],{icon:mki});

var rutatodoeuno = paradasrutavs,rutavistaimss;

var capaderutas = { "ruta vista imss": rutatodoenuno, 
"ruta 18 directa": ruta18D , 
"ruta periferico": rutaperife, 
"ruta mira sierra": rutamirasi, 
"ruta 8 ampliacion morelos": ruta8ampli };

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

1 个答案:

答案 0 :(得分:0)

此行

var rutatodoeuno = paradasrutavs,rutavistaimss;

对您没有任何帮助。尝试将要合并的两层添加到L.layerGroup中,就L.control.layers而言,它们的行为就像是一层。

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