2026, 새로운 도약을 시작합니다.

게시판 글쓰기 페이지에서 주소등록후 좌표이동 문의 채택완료

안녕하세요… 카카오 api 사용중입니다.
글쓰기 페이지에서 주소입력은 잘 되고 있습니다. 여기에서 입력된 주소의 위치로 좌표가 이동이 되어야 하는데 이동이 되지 않고 있습니다.

주소검색부분을 팝업창으로 오픈했을경우에는 주소입력후 좌표로 이동을 하지만, 레이어 형태로 오픈했을 때는 주소입력후 좌표로 이동 하지 않습니다.

어떻게 해야 하는지 고수님들의 해결방법 및 조언 부탁드리겠습니다.

write.skin.php 주소입력부분

Copy




 

//중간생략

                    

                        주 소

                        

                        우편번호

                        
Copy


    function win_zip() {

        new daum.Postcode({

            oncomplete: function(data) {

                var addr = data.address; // 최종 주소 변수

//중간생략

 

        }).open();

    }

위처럼 팝업형태로 오픈했을때는 주소입력시 해당주소지의 좌표로 마커가 정상이동 함.

아래처럼 레이어 형태로 했을때는 주소입력시 해당주소지의 좌표로 이동이 않됨.

다음 주소검색 스크립트를 적용했습니다.

script 부분

Copy


        

            

            

               

                

               

                    , ), // 지도의 중심좌표

                        level: 3 // 지도의 확대 레벨

                    };

 

                // 지도를 생성

                var map = new daum.maps.Map(mapContainer, mapOption);

 

                // 주소-좌표 변환 객체 생성

                var geocoder = new daum.maps.services.Geocoder();

 

                // 마커

                var marker = new daum.maps.Marker({

                    map: map,

                    // 지도 중심좌표에 마커를 생성

                    position: map.getCenter()

                });

 

                // 주소검색 API (주소 > 좌표변환처리)

 

         new daum.Postcode({

            oncomplete: function(data) {

                var addr = data.address; // 최종 주소 변수

 

                //우편번호

                document.getElementById('wr_2').value = data.zonecode;

                // 주소 정보를 해당 필드에 넣는다.

                document.getElementById("wr_3").value = addr;

                document.getElementById("wr_4").value =data.bname+' : '+data.buildingName;

                // 주소로 상세 정보를 검색

                geocoder.addressSearch(data.address, function(results, status) {

                    // 정상적으로 검색이 완료됐으면

                    if (status === daum.maps.services.Status.OK) {

 

                        var result = results[0]; //첫번째 결과의 값을 활용

 

                        // 해당 주소에 대한 좌표를 받아서

                        var coords = new daum.maps.LatLng(result.y, result.x);

 

                        // 지도를 보여준다.

                        mapContainer.style.display = "block";

                        map.relayout();

 

                        // 지도 중심을 변경한다.

                        map.setCenter(coords);

 

                        // 좌표값을 넣어준다.

                        document.getElementById('wr_5').value = coords.getLat();

                        document.getElementById('wr_6').value = coords.getLng();  

 

                        // 마커를 결과값으로 받은 위치로 옮긴다.

                        marker.setPosition(coords)

                    }

                });

            }

                   

                //마커를 기준으로 가운데 정렬이 될 수 있도록 추가

                var markerPosition = marker.getPosition();

                map.relayout();

                map.setCenter(markerPosition);

                

               

            

        

        

답변 1개

저거 스크립트 뭐가 잘못된건지 확인해봐야될것같아요 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고