Как я могу различить два разных векторных слоя в OpenLayers?
В моем дизайне есть флажок, который удаляет все векторные слои со следующим кодом.
// When I check that checkbox:
var layers = map.getLayersByClass('OpenLayers.Layer.Vector');
for(var j=0; j < layer_vectors.length; j++){
map.removeLayer(layer_vectors[j]);
}
Который работает отлично. Мне нужно удалить все таким образом, потому что есть много векторных слоев, которые содержат полигоны.
Что делать, если у меня есть две разные группы векторных слоев? Как я могу удалить только один из них с помощью этого флажка?
Можем ли мы установить что-то вроде атрибута "data-layertype", как в обычных HTML-элементах? Как я могу различить два разных слоя после того, как получу их с помощью getLayersByClass?
Спасибо
1 ответ
Решение
ОК, я решил эту проблему. Я создаю целую группу с одним и тем же именем каждый раз, когда создаю векторный слой, и когда я удаляю слои, я различаю их по атрибуту ".name".
for(var j=0; j < layer_vectors.length; j++){
if(layer_vectors[j].name == "group_name"){
map.removeLayer(layer_vectors[j]);
}
}