Как использовать цикл для добавления слоев на карту, которые еще не отображаются? - PullRequest
0 голосов
/ 06 ноября 2019

Я новичок в javascript, поэтому извиняюсь, если это супер основной вопрос!

Итак, у меня есть функция resetMap, которая использует цикл для удаления слоев с карты следующим образом:

функция resetMap () {

let layers = [Frog1Layer, Frog2Layer, Frog3Layer, Frog4Layer, Frog5Layer, Frog6Layer, Frog7Layer, Frog8Layer,
Frog1Marker, Frog2Marker, Frog3Marker, Frog4Marker, Frog5Marker, Frog6Marker, Frog7Marker, Frog8Marker]


for (let layer of layers) {

if (layer) {

map.removeLayer(layer)
}
}

Теперь я пытаюсьдобавить функцию addAllLayers, используя аналогичный цикл. Проблема в том, что я не совсем понимаю, что на самом деле делает цикл resetMap.

Я вижу, что он проходит по массиву, и если у него есть каждый слой, он удаляет его. Но что на самом деле означает бит «для (пусть слой слоев) {»? И как мне написать подобный цикл, который добавляет слои?

Пока у меня есть это:

функция showAllLayers () {

let layers = ([Frog1Layer, Frog2Layer, Frog3Layer, Frog4Layer, Frog5Layer, Frog6Layer, Frog7Layer, Frog8Layer,
Frog1Marker, Frog2Marker, Frog3Marker, Frog4Marker, Frog5Marker, Frog6Marker, Frog7Marker, Frog8Marker]);

for (let layer of layers) {

if (layer) {

map.addLayer(layer)
}
}

, но это не кажетсяверно, поскольку он добавляет слой только в том случае, если этот слой ранее был добавлен на карту.

Кто-нибудь может объяснить?

Большое спасибо!

...