문제 상황
- 이전 글에서 이어지는 문제 상황
- 첫 번째 선택인데 마커 인덱스가 2로 표시되는 문제가 발생했다. 즉, 배열의 길이 +1 값으로 표시됐다.
- 배열의 길이를 콘솔에 찍어서 확인했지만 배열의 길이엔 문제가 없었다.
해결 방법
배열의 길이에는 문제가 없었으니 문제는 addSelectedMarker 함수 내에 있을 것이라 생각하고 살펴봤다.
- handleSelectBtnClick 함수 내에서는 addSelectedMarker 함수를 호출한다.
- addSelectedMarker 함수 내에 마커 이미지 속성을 지정하는 spriteOrigin 옵션에서 인덱스 값을 사용한다.
- 인덱스 값이 1부터 시작이니 첫 번째 마커 이미지의 영역 좌표는 (1*46)+10이 된다.
-> 이미지 영역 좌표가 문제 원인이였다! 기본으로 설정되어있는 마커 이미지는 하나하나 개별로 된게 아닌 아래와 같이 하나의 png 파일로 되어있었다.
🔽 마커 이미지는 더보기 클릭
- 즉, 지도에 마커 이미지를 나타낼 때는 마커 이미지(스프라이트 이미지)내에서 크기와 좌표로 사용할 영역 외엔 다 감춰지게 잘라서 화면에 나타내는 것 이였다!
- 인덱스 값으로 i를 썼을 때는 i=0부터 시작이였기 때문에 좌표가 (0*46)+10이 되어서 1이 적힌 마커 이미지 부분이 나타났는데, 인덱스 값을 배열의 길이로 지정했기 때문에 1부터 시작해서 좌표가 틀어진게 문제였다.
- 좌표 지정 코드를 ((idx-1)*46)+10로 지정해줌으로써 정상적으로 잘 동작했다!
'🔫 트러블슈팅' 카테고리의 다른 글
[Spring Boot] JSON 데이터와 Multipart 파일 함께 처리 시 Current request is not a multipart request 에러 (0) | 2024.10.02 |
---|---|
[카카오 지도 API] 같은 장소인데 다른 좌표로 판단하는 부동소수점 오차 문제 (0) | 2024.09.18 |
[카카오 지도 API] 검색 결과 목록의 페이지별 마커 인덱스 겹침 문제 (0) | 2024.09.13 |
[Spring Boot] BindingResult를 통한 유효성 검증 시 잘못된 BindingResult 위치 (0) | 2024.06.13 |
[Spring Boot] input type=hidden으로 컨트롤러에 값 넘겨주기 (0) | 2024.06.08 |