ESRI Javascript API: цикл для создания меню выбора слоя
Для справки, пожалуйста, смотрите это: https://developers.arcgis.com/javascript/jssamples/map_dynamiclayerlist.html
Но, в отличие от примера ESRI, я загружаю несколько разных сервисов, и каждый сервис имеет несколько уровней. Поэтому я изменил код ESRI в соответствии со следующим:
var visible = [];
function buildLayerList() {
arrayUtils.forEach(map.layerIds, function (id) {
var currLayer = map.getLayer(id);
var items = arrayUtils.map(currLayer.layerInfos, function (info, index) {
if (info.defaultVisibility) {
visible.push(info.id);
}
return "<input type='checkbox' class='list_item'" + (info.defaultVisibility ? "checked=checked" : "") + "' id='" + info.id + "'' /><label for='" + info.id + "'>" + info.name + "</label>";
});
});
//more code per ESRI
}
Но в моем случае items
переменная не получает никаких значений; он возвращается как ноль или не определен. Я предполагаю, что это потому, что у меня в основном две петли, в отличие от ESRI.
Так как мне это исправить? Я не хотел бы жестко кодировать параметр меню выбора слоя, но, возможно, придется, если я не могу понять это.
Примечание. Это все динамические слои Arcgis.
Спасибо!
1 ответ
Не берите в голову: все, что мне было нужно, это "Виджет TOC" API Esri Javascript; Я скачал это и внедрил в мой код. Гораздо проще, чем пытаться заново изобрести колесо. Спасибо - особенно @Pointy.