작성
·
296
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
빈 배열 객체 생성 let infowindow = [];
거기에 for문 돌면서 infowindow 집어넣기
infowindowArray.push(infowindow);
1,2번 까지는 말 그대로 빈 배열객체를 생성후
기존의 infowindow를 집어넣어 기존의 자료가 들어간
infowindowArray를 만든것까진 알겠는데
그 이후에
3.
function closeInfoWindow(){
for (let infowindow of infowindowArray){
infowindow.close();
}
};
이게 무슨 말 일까요?
사실 모든 원리가 잘 이해가 되질 않습니다..ㅜㅜ
기존에는 그냥 인포윈도우 클릭하면 해당정보가 나타나고
그것을 다른 것을 누르면 끄려 그러는데
왜 빈 배열객체를 만드는지 부터 잘 이해가 안되네요..
답변 1
0
안녕하세요.
인포윈도우 하나만 끌때는 단순히 해당 객체의 close() 메서드를 호출하면 됩니다.
인포윈도우가 여러개 존재할 때는 각 객체의 close() 메서드를 호출해야 할 필요가 있습니다.
일일이 해당 객체의 변수명을 저장하여 호출하는 것은 번거로울 수 있습니다.
따라서 인포윈도우를 모두 한 리스트에 저장시켜두고 반복문을 활용해 각 객체의 close() 메서드를 호출하면 효율적으로 관리를 할 수 있게 됩니다.
따라서 배열부터 만들고, 거기에 각 객체를 저장하여 메서드를 호출하는 것입니다.
프로그래밍 흐름이 잘 이해가 안되시는 것을 고려하여 비유를 통해 설명드리자면,
10명의 사람이 있고 그들에게 도장을 찍어주는 일을 해야 한다고 생각해봅시다.
우리가 각 사람을 찾아다니며 일일이 찍어주는 것보단, 그들이 줄 지어서 한번에 도장을 받으러 온다면 훨씬 더 수월하겠습니다.
이러한 이유로 위와 같은 코드를 작성한 것이라고 이해해주시면 되겠습니다.
감사합니다.