diff --git a/src/components/list/ProjectCard.vue b/src/components/list/ProjectCard.vue
index 7574d64..79f714a 100644
--- a/src/components/list/ProjectCard.vue
+++ b/src/components/list/ProjectCard.vue
@@ -94,7 +94,7 @@
프로젝트 수정
{
// 주소를 좌표로 변환하는 함수
const convertAddressToCoordinates = () => {
- // kakao maps API가 로드되었는지 확인
- if (window.kakao && window.kakao.maps) {
- const geocoder = new window.kakao.maps.services.Geocoder();
- geocoder.addressSearch(props.address, (result, status) => {
- if (status === window.kakao.maps.services.Status.OK) {
- coordinates.value = {
- lat: parseFloat(result[0].y),
- lng: parseFloat(result[0].x)
- };
- } else {
- // 기본 좌표 설정 (본사)
- coordinates.value = {
- lat: 37.2108651707078,
- lng: 127.089445559923
- };
- }
- });
- } else {
- // 기본 좌표로 설정
- coordinates.value = {
- lat: 37.2108651707078,
- lng: 127.089445559923
- };
+ if (!window.kakao || !window.kakao.maps) {
+ return;
}
+
+ const geocoder = new window.kakao.maps.services.Geocoder();
+ geocoder.addressSearch(props.address, (result, status) => {
+ if (status === window.kakao.maps.services.Status.OK) {
+ coordinates.value = {
+ lat: parseFloat(result[0].y),
+ lng: parseFloat(result[0].x)
+ };
+ }
+ });
};
const onLoadKakaoMap = (mapRef) => {
@@ -615,6 +604,17 @@ onMounted(async () => {
if (endDateInput.value) {
endInputElement = endDateInput.value.$el.querySelector('input[type="date"]');
}
+
+ // Kakao Maps API 로드 확인
+ const checkKakaoMapsLoaded = () => {
+ if (window.kakao && window.kakao.maps) {
+ convertAddressToCoordinates();
+ } else {
+ setTimeout(checkKakaoMapsLoaded, 500);
+ }
+ };
+
+ checkKakaoMapsLoaded();
});
diff --git a/src/components/projectlist/ProjectList.vue b/src/components/projectlist/ProjectList.vue
index ef0c1ce..feeae3a 100644
--- a/src/components/projectlist/ProjectList.vue
+++ b/src/components/projectlist/ProjectList.vue
@@ -37,7 +37,7 @@
프로젝트 등록