React JS 환경에서 지도를 이용한 주소검색 기능을 사용하기 위해 아래와 같이 구현했고,
- 지도 및 마커는 정상적으로 출력됩니다.
- 주소검색을 위해 kakao.maps.services.Geocoder() 호출시 오류가 발생합니다. (Cannot read property ‘Geocoder’ of undefined)
- DevTalk 에서 유사한 이슈들을 참고하여 수정하였으나, services 라이브러리가 적용되지 않습니다.
---------- index.html -------------
…
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=********&libraries=services&autoload=false"></script>
…
--------- MapContainer.js ----------
…
useEffect(() => {
kakao.maps.load(() => {
const container = document.getElementById('myMap');
const options = {
center: new kakao.maps.LatLng(33.450701, 126.570667),
level: 3
};
const map = new kakao.maps.Map(container, options);
var marker = new kakao.maps.Marker({
map: map,
position: new kakao.maps.LatLng(33.450701, 126.570667)
});
var services = kakao.maps.services;
if(!services) {
console.log('kakao.maps.services 를 찾을 수 없음 :', kakao.maps);
return;
}
else {
var geocoder = services.Geocoder();
var callback = function(result, status) {
if (status === kakao.maps.services.Status.OK) {
console.log(result);
}
};
geocoder.addressSearch(props.address, callback);
}
});
}, []);
…
실행결과 : kakao.maps.services 를 찾을 수 없음 (지도와 마커만 출력 됨)