티스토리 뷰
반응형
kakao sdk.js 는 로드되었을지 몰라도 latlng method 가 로드되기 전에 호출될 경우 발생하는 문제이다.
다음과 같이 수정하여 해결하였다.
sdk.js 호출시 파라미터에 autoload=false 를 추가해주었다.
<script
async
src={`https://dapi.kakao.com/v2/maps/sdk.js?appkey=${KAKAO_JAVASCRIPT_APP_KEY}&autoload=false`}
></script>
그다음 latlng 메소드가 호출되는 부분을 kakao.maps.load callback 처리해주었다.
useEffect(() => {
if (kakao) {
kakao.maps.load(() => {
var container = document.getElementById('map'); //지도를 담을 영역의 DOM 레퍼런스
var options = {
//지도를 생성할 때 필요한 기본 옵션
center: new kakao.maps.LatLng(Number(lat), Number(lng)), //지도의 중심좌표.
level: 3, //지도의 레벨(확대, 축소 정도)
};
var map = new kakao.maps.Map(container as HTMLDivElement, options);
var markerPosition = new kakao.maps.LatLng(Number(lat), Number(lng));
// 마커를 생성합니다
var marker = new kakao.maps.Marker({
position: markerPosition,
});
// 마커가 지도 위에 표시되도록 설정합니다
marker.setMap(map);
});
}
}, [lat, lng]);반응형
'웹프로그래밍 > Javascript' 카테고리의 다른 글
| [Next.js] Error: fetch for over 2MB of data can not be cached (0) | 2024.02.25 |
|---|---|
| [NextAuth] auth redirect 로컬 포트 변경하기 (0) | 2024.02.21 |
| window.open 새로운 윈도우 창에 post 로 보내기 (0) | 2022.05.31 |
| validate JSON (JSON 여부 검사) (0) | 2020.07.08 |
| get only text by clipboard (0) | 2020.07.08 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 지도
- 카카오뱅크
- 해외주식
- 공제
- etf
- 세금
- 정부
- 재테크
- 내집마련
- 대출
- 안과
- 투자
- 고금리
- 혜택
- 금융
- ubuntu
- 아파트매매
- remove
- 부동산
- 2026
- 안드로이드
- 우회
- 적금
- 연말정산
- 출산
- php
- 주담대
- 카뱅
- 앱테크
- 신혼부부
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
글 보관함