* 카카오맵 API 사용 가이드
2023.04.10 - [React] - [카카오맵 API] React TypeScript에서 카카오맵 불러오기
* 카카오 주소 API 사용 가이드
2023.03.29 - [React] - [카카오 주소 API] TypeScript에서 카카오(다음) 주소 API 사용 방법
1. Script 파라미터 추가
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다.&autoload=false&libraries=services"></script>
- libraries=services : 주소 - 좌표 변환하는 객체 Geocoder를 사용하기 위해서 필요하다.
2. 코드 작성
declare global {
interface Window {
kakao: any;
}
}
export default function KakaoMap() {
const [map, setMap] = useState<any>();
const [marker, setMarker] = useState<any>();
// 1) 카카오맵 불러오기
useEffect(() => {
window.kakao.maps.load(() => {
const container = document.getElementById("map");
const options = {
center: new window.kakao.maps.LatLng(33.450701, 126.570667),
level: 3,
};
setMap(new window.kakao.maps.Map(container, options));
setMarker(new window.kakao.maps.Marker());
});
}, []);
// 2) 검색된 주소 위치 표시
const onClickAddr = () => {
// 3) 주소 검색
new window.daum.Postcode({
// 4) 검색된 주소 클릭 시 콜백 함수
oncomplete: function (addrData: IAddr) {
var geocoder = new window.kakao.maps.services.Geocoder();
geocoder.addressSearch(
addrData.address, // 검색된 주소
function (result: any, status: any) {
// 5) 성공시 좌표 값을 가져온다.
if (status === window.kakao.maps.services.Status.OK) {
var currentPos = new window.kakao.maps.LatLng(
result[0].y,
result[0].x
);
(document.getElementById("addr") as HTMLInputElement).value =
addrData.address;
map.panTo(currentPos);
// 결과값으로 받은 위치를 마커로 표시합니다
marker.setMap(null);
marker.setPosition(currentPos);
marker.setMap(map);
}
}
);
},
}).open();
};
return(
<div>
<div onClick={onClickAddr}>
<input id="addr" readOnly />
<div>
<div id="map" style={{ width: "100%", height: "400px" }}></div>
<div>
);
}
반응형
'React' 카테고리의 다른 글
[React Native] RN CLI Mac 개발 환경 구성 (0) | 2024.04.22 |
---|---|
[React] TypeScript에서 텍스트 편집기(React-Quill) 사용 방법 (0) | 2023.04.20 |
[카카오맵 API] React 클릭 위치로 마커(Marker) 변경 및 주소 가져오는 방법 (0) | 2023.04.17 |
[카카오맵 API] React TypeScript에서 Geolocation를 사용한 현재 위치 표시 방법 (0) | 2023.04.11 |
[카카오맵 API] React TypeScript에서 카카오맵 불러오기 (0) | 2023.04.10 |