마운트 시킬 때
mounted() {
if (window.kakao && window.kakao.maps) {
this.initMap();
} else {
const script = document.createElement(“script”);
script.onload = () => kakao.maps.load(this.initMap);
script.src = //dapi.kakao.com/v2/maps/sdk.js?autoload=false&appkey=${process.env.VUE_APP_KAKAOMAP_KEY}
;
console.log(script.src);
document.head.appendChild(script);
}
},
watch
watch: {
state변수명(val) {
// 주소-좌표 변환 객체를 생성합니다
var geocoder = new kakao.maps.services.Geocoder();
// 주소로 좌표를 검색합니다
geocoder.addressSearch(
"제주특별자치도 제주시 첨단로 242",
function (result, status) {
// 정상적으로 검색이 완료됐으면
if (status === kakao.maps.services.Status.OK) {
var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
// 결과값으로 받은 위치를 마커로 표시합니다
var marker = new kakao.maps.Marker({
map: this.map,
position: coords,
});
// 인포윈도우로 장소에 대한 설명을 표시합니다
var infowindow = new kakao.maps.InfoWindow({
content:
'<div style="width:150px;text-align:center;padding:6px 0;">우리회사</div>',
});
infowindow.open(this.map, marker);
// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
this.map.setCenter(coords);
}
},
);
},
},
이렇게 최종적으로는 state의 도로명주소를 가져와서 위치 마커를 찍으려고 하는데
Cannot read properties of undefined (reading ‘Geocoder’) 이 에러가 뜨네요…
여러방면으로 찾아보고 이 사이트에서도 찾아봤는데 저한테 맞는 해결책이 안보여서요…
어떻게 해결하면 될까요??
넘 어렵네요…