如何将存储为变量的图层添加到mapbox地图
我正在使用mapbox.js,我正在尝试重置一个已删除但存储在变量中的层。我已经创建了一个map对象并将其附加到一个div,并将其存储为变量map。我像这样初始化层 var myLayer=L.mapbox.featureLayer.addTomap; var secondLayer=L.mapbox.featureLayer.addTomap 然后我将它们存储在json对象中如何将存储为变量的图层添加到mapbox地图,mapbox,geojson,Mapbox,Geojson,我正在使用mapbox.js,我正在尝试重置一个已删除但存储在变量中的层。我已经创建了一个map对象并将其附加到一个div,并将其存储为变量map。我像这样初始化层 var myLayer=L.mapbox.featureLayer.addTomap; var secondLayer=L.mapbox.featureLayer.addTomap 然后我将它们存储在json对象中 var geoJsons = {"myLayer": myLayer,
var geoJsons = {"myLayer": myLayer,
"secondLayer": secondLayer
};
在下面的函数中,我有一个onclick函数,它利用单击的对象的数据属性来指向json对象中的特定层
var layer = $(this).data('layer');
map.removeLayer(geoJsons[layer]);
然后,我尝试在单击其他按钮时重新添加它
geoJsons[layer] = L.mapbox.featureLayer().addTo(map);
最后一点不起作用。我的问题是,有没有一种方法可以通过在这个json对象中调用来将层重新添加到地图中
geoJsons[layer] = L.mapbox.featureLayer().addTo(map);
您在这里所做的是覆盖使用L.mapbox.featureLayer的新实例存储的layerobject。存储的层可以通过geoJsons[layer]访问,假设layer变量包含字符串myLayer或secondLayer,您只需调用它的addTo方法即可添加它,如下所示:
geoJsons[layer].addTo(map);
//or
map.addLayer(geoJsons[layer]);
非常感谢。这帮了大忙!