브라우저 오류
apt:111 Uncaught TypeError: Cannot read properties of undefined (reading 'Geocoder')
원인 - 라이브러리 인식이 안되는듯 지도 자체는 로딩되는걸 보니 키값이 틀린건 아님
안보이는 공백도 제거해봄
네트워크 확인해보니 정상
공백 문제인듯?
해결
https://devtalk.kakao.com/t/react-kakao-maps-cannot-read-property-geocoder-of-undefined/115215
React Kakao Maps 구현시 Cannot read property ‘Geocoder’ of undefined 오류
React JS 환경에서 지도를 이용한 주소검색 기능을 사용하기 위해 아래와 같이 구현했고, 지도 및 마커는 정상적으로 출력됩니다. 주소검색을 위해 kakao.maps.services.Geocoder() 호출시 오류가 발생합니
devtalk.kakao.com
오류
apt:108 Uncaught TypeError: kakao.maps.LatLng is not a constructor
load 함수 사용햇는데 왜...
와씨 결국 찾아냄
2시간걸림
src="//dapi.kakao.com/v2/maps/sdk.js?appkey=앱키&libraries=services,clusterer,drawing&autoload=false"></script>
주소 리스트 -> for문 돌려서 좌표 리스트 만들기 -> 클러스터러로 표현하기
고민 1
for문을 어디서 돌리는게 맞을까..
아예 리스트를 매개변수로 보내서 그 안에서 리스트 길이만큼 돌릴까 아니면 하나씩 꺼내오는걸로 받아서 리스트를 만들까
고민2
좌표 정보를 apt 객체에 저장하는게 좋은지 아니면 새로 객체를 만드는게 좋은지... 머루겟삼
타임리프 인라인
리스트 형식으로 담은거 json으로 만들기
[{"lng":"126.919446053291","addressName":"서울 마포구 서교동 447-5","lat":"37.5564857555897"}]
잘 받는데 왜..
Exception processing template "cluster": Error resolving template [cluster], template might not exist or might not be accessible by any of the configured Template Resolvers
애초에 cluster 요청한적도 없는데
2024-04-24 15:07:55.216[0;39m [31mERROR[0;39m [35m9704[0;39m [2m---[0;39m [2m[nio-8088-exec-1][0;39m [36morg.thymeleaf.TemplateEngine [0;39m [2m:[0;39m [THYMELEAF][http-nio-8088-exec-1] Exception processing template "cluster": Error resolving template [cluster], template might not exist or might not be accessible by any of the configured Template Resolvers
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [cluster], template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
해결
return codezip.toString();
String 으로 보내줘얗..
/* //중심좌표가 바뀌면 리스트 재검색
kakao.maps.event.addListener(map, 'center_changed', function() {
// 지도의 레벨을 얻어옵니다
var level = map.getLevel();
// 지도의 중심좌표를 얻어옵니다
var latlng = map.getCenter();
//alert("중심좌표 변경");
}); */
var markers = new kakao.maps.Marker({
position: new kakao.maps.LatLng(position.lat, position.lng)
});
var clusterer = new kakao.maps.MarkerClusterer({
map: map, // 마커들을 클러스터로 관리하고 표시할 지도 객체
averageCenter: true, // 클러스터에 포함된 마커들의 평균 위치를 클러스터 마커 위치로 설정
minLevel: 5, // 클러스터 할 최소 지도 레벨
markers: markers // 클러스터에 마커 추가
});
1. 현재 화면의 좌표값을 보내서 그 안에 있는 리스트만 걸러서 가져오는 방법
2. 리스트를 보내서 코드를 가져오는 방법,
두가지가 있는데 당연히 1번이 효율적이다.
아니
아닌가??
당연한가????
일단 2번은 쉬움...
+) 추가 처리
마커가 1개 이하면 클러스터러가 안생기는데 이럴 경우 마커를 찍어줘야 한다.
그냥 마커면 안되고 클러스터러 모양 마커여야 할 듯...
아니 생각해보니까 클러스터러에서 알아서 마커 찍어주니까 여기서 모양만 바꾸면 되는디
어떻게 바꾸더라 ㅎhttps://devtalk.kakao.com/t/topic/103092/5
클러스터 마커 레이아웃 변경
클러스터러 생성시 만들어지는 마커들의 이미지가 아닌 클러스터에 이미지를 적용하고싶습니다 위 링크를 보면 setStyle() 이나 redraw()로 css 효과를 적용할수는있는거같은데 만약에 적용한다고
devtalk.kakao.com
일단 여기까지 완료~
'Project > 과정 기록' 카테고리의 다른 글
D-16 (0) | 2024.04.27 |
---|---|
D-17 (0) | 2024.04.25 |
D-19 카카오맵 REST API 주소 -> 코드 변경 관련 오류 (해결) (0) | 2024.04.24 |
D-20,D-19 매물 정보 지도 구현 로직 정리 (0) | 2024.04.22 |
D-25 (0) | 2024.04.17 |
댓글