버튼 누를시 인포윈도우 닫는 방식 설명좀 다시 부탁드려도 될까요?
345
작성한 질문수 37
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 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명의 사람이 있고 그들에게 도장을 찍어주는 일을 해야 한다고 생각해봅시다.
우리가 각 사람을 찾아다니며 일일이 찍어주는 것보단, 그들이 줄 지어서 한번에 도장을 받으러 온다면 훨씬 더 수월하겠습니다.
이러한 이유로 위와 같은 코드를 작성한 것이라고 이해해주시면 되겠습니다.
감사합니다.
live server가 안 떠요..
0
80
1
카카오맵 API 가 안뜹니다...
0
681
2
카카오맵API 지도 관련
0
174
1
Putty에서 nginx를 vi로 수정할때 오류
0
281
3
mysql과 선생님의 깃허브 코드연결
0
186
1
nodemon 실행오류
0
232
2
Azure 서버로 구축하고 작업하는 방법 알 수 있을까요?
0
260
2
css 적용 중 강의대로 적용되지 않아 질문 드립니다
0
349
2
강의를 잘 활용하는 법 추천 부탁드립니다.
0
286
1
MysqlWorkbench 접속문제
0
301
1
전체 핀이 조회되지 않습니다.
0
261
1
빅데이터 처리관련
1
282
1
섹션5의 2번째 강의 질문-setMap 비동기 처리 이유
0
237
1
PM2 EADDRINUSE 에러
0
410
2
인스턴스 중단 후 재시작
0
280
1
이미지 부분에 cctv 영상을 넣고 싶은데요.
0
583
2
노션 링크가 어디있나요 ?
1
311
1
axios 이후 마커 오류
0
291
0
service nginx restart 에러
0
711
1
섹션10 배포하기 unbuntu에서 root경로가 안뜹니다ㅠㅠ
0
500
3
선생님 추가적으로 새로운 페이지를 만드려고 하는데요...
0
247
1
코드 질문 드립니다!
0
227
1
혹시 강의자료 노션 내리셨나요?
0
238
1
노드몬 에러 참조하세요
0
359
1





