테스트 사이트 - 개발 중인 베타 버전입니다

지도 좌표질문입니다 채택완료

숙향 2년 전 조회 10,159

g5-food 게시판을 사용하는데 지도가 주소지를 안 알려주고 항상 서울에 고정되어 있답니가 

어떻게 하면 돌아갈련지요 좌표가 고정으로 되어 있는가요 고수님의 답변을 기다리겠읍니다.

키번호도 다있어요 

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

답변 13개

채택된 답변
+20 포인트

게시판 글쓰기쪽에는 좌표 필드가 있나요?

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

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

2년 전

감사합니다 싱경 쓰시느라 수고 많았습니다.저는 완전초보라 겨우 순서대로 홈페이지만 만들었지 아무것도 모르는 초보입니다 수고많이 하셨읍니다 초보라 포기하겠읍니다. 감사합니다

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

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

다음과 같이 해볼 수 있을 것 같습니다.

 

write.skin.php

</p>

<p><?php</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>

 </p>

<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>

<p>add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);</p>

<p> </p>

<p>//새글 작성일때 기본좌표</p>

<p>if($write['wr_5'] == null){$write['wr_5'] = 37.2540303019122;}</p>

<p>if($write['wr_6'] == null){$write['wr_6'] = 127.029761590557;}</p>

<p> </p>

<p>$g5['title'] = $group['gr_subject'];</p>

<p>?></p>

<p>이하생략~</p>

<p>                    <tr></p>

<p>                        <th>주 소</th>                    </p>

<p>                    <td colspan="3"></p>

<p>                            <input type="text" name="wr_3" value="<?php echo $write['wr_3'] ?>" id="wr_3" class="wm_input frm_address required"  placeholder="주소검색" style="width:70%;" required readonly></p>

<p>                            <a href="javascript:void(0);" class="ser_bbt" id="ser_bbt"><i class="fa fa-search" aria-hidden="true"></i></a></p>

<p>                            <div style="width:50%; margin-top:5px;"></p>

<p>                            <input type="text" name="wr_4" value="<?php echo $write['wr_4'] ?>" id="wr_4" class="wm_input frm_address"  placeholder="나머지주소"></p>

<p>                            </div>                        </p>

<p>                        </td></p>

<p>                    </tr>  </p>

<p>        <!-- API { --></p>

<p>            <tr></p>

<p>            <td colspan="4" class="cont_td"></p>

<p>               </p>

<p>                <div style="background-color:#f9f9f9; width:100%; margin-top:5px; height:200px; border-radius:4px;" id="map"></div></p>

<p>               </p>

<p>                    <input type="hidden" name="wr_5" value="<?php echo $write['wr_5']; ?>" id="wr_5" class="frm_input winp" readonly></p>

<p>                    <input type="hidden" name="wr_6" value="<?php echo $write['wr_6']; ?>" id="wr_6" class="frm_input winp" readonly></p>

<p>               </p>

<p>                <div id="clickLatlng"></div></p>

<p> </p>

<p>                <!--<script src="<a href="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>-->" target="_blank" rel="noopener noreferrer">http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>--></a></p>

<p>                <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=<?php echo $board['bo_1'] ?>&libraries=services"></script></p>

<p>                <!-- } --></p>

<p>               </p>

<p>                <script></p>

<p>                var mapContainer = document.getElementById('map'), // 지도를 표시할 div</p>

<p>                    mapOption = {</p>

<p>                        center: new daum.maps.LatLng(<?php echo $write['wr_5']?>, <?php echo $write['wr_6']?>), // 지도의 중심좌표</p>

<p>                        level: 3 // 지도의 확대 레벨</p>

<p>                    };</p>

<p> </p>

<p>                // 지도를 생성</p>

<p>                var map = new daum.maps.Map(mapContainer, mapOption);</p>

<p> </p>

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

<p>                var geocoder = new daum.maps.services.Geocoder();</p>

<p> </p>

<p>                // 마커</p>

<p>                var marker = new daum.maps.Marker({</p>

<p>                    map: map,</p>

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

<p>                    position: map.getCenter()</p>

<p>                });</p>

<p> </p>

<p>               </p>

<p> </p>

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

<p>                $(function() {</p>

<p>                    $("#wr_3").on("click", function() {</p>

<p>                        new daum.Postcode({</p>

<p>                            oncomplete: function(data) {</p>

<p>                                //console.log(data);</p>

<p>                                $("#wr_3").val(data.address);</p>

<p>                                //$("#road").val(data.roadAddress);</p>

<p>                                //$("#sido").val(data.sido);</p>

<p>                                //$("#gugun").val(data.sigungu);</p>

<p>                                //$("#dong").val(data.bname);</p>

<p> </p>

<p>                                geocoder.addressSearch(data.address, function(results, status) {</p>

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

<p>                                    if (status === daum.maps.services.Status.OK) {</p>

<p> </p>

<p>                                        //첫번째 결과의 값을 활용</p>

<p>                                        var result = results[0];</p>

<p> </p>

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

<p>                                        var coords = new daum.maps.LatLng(result.y, result.x);</p>

<p> </p>

<p>                                        // 지도를 보여준다.</p>

<p>                                        map.relayout();</p>

<p> </p>

<p>                                        // 지도 중심을 변경한다.</p>

<p>                                        map.setCenter(coords);</p>

<p> </p>

<p>                                        // 좌표값을 넣어준다.</p>

<p>                                        document.getElementById('wr_5').value = coords.getLat();</p>

<p>                                        document.getElementById('wr_6').value = coords.getLng();</p>

<p> </p>

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

<p>                                        marker.setPosition(coords);</p>

<p>                                    }</p>

<p>                                });</p>

<p> </p>

<p>                            }</p>

<p>                        }).open();</p>

<p>                    });</p>

<p>                   </p>

<p>                    $("#ser_bbt").on("click", function() {</p>

<p>                        new daum.Postcode({</p>

<p>                            oncomplete: function(data) {</p>

<p>                                //console.log(data);</p>

<p>                                $("#wr_3").val(data.address);</p>

<p>                                //$("#road").val(data.roadAddress);</p>

<p>                                //$("#sido").val(data.sido);</p>

<p>                                //$("#gugun").val(data.sigungu);</p>

<p>                                //$("#dong").val(data.bname);</p>

<p> </p>

<p>                                geocoder.addressSearch(data.address, function(results, status) {</p>

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

<p>                                    if (status === daum.maps.services.Status.OK) {</p>

<p> </p>

<p>                                        //첫번째 결과의 값을 활용</p>

<p>                                        var result = results[0];</p>

<p> </p>

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

<p>                                        var coords = new daum.maps.LatLng(result.y, result.x);</p>

<p> </p>

<p>                                        // 지도를 보여준다.</p>

<p>                                        map.relayout();</p>

<p> </p>

<p>                                        // 지도 중심을 변경한다.</p>

<p>                                        map.setCenter(coords);</p>

<p> </p>

<p>                                        // 좌표값을 넣어준다.</p>

<p>                                        document.getElementById('wr_5').value = coords.getLat();</p>

<p>                                        document.getElementById('wr_6').value = coords.getLng();</p>

<p> </p>

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

<p>                                        marker.setPosition(coords);</p>

<p>                                    }</p>

<p>                                });</p>

<p> </p>

<p>                            }</p>

<p>                        }).open();</p>

<p>                    });</p>

<p>                });</p>

<p>                   </p>

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

<p>                var markerPosition = marker.getPosition();</p>

<p>                map.relayout();</p>

<p>                map.setCenter(markerPosition);</p>

<p>                </script></p>

<p>               </p>

<p>            </td></p>

<p>        </tr></p>

<p>        <!-- } API --></p>

<p>//이하생략~</p>

<p>

 

1. 상단에 초기 좌표값 설정합니다. (초기값은 원하시는 지역으로 설정 하세요)

</p>

<p>if($write['wr_5'] == null){$write['wr_5'] = 37.2540303019122;} //lat 초기좌표값 설정</p>

<p>if($write['wr_6'] == null){$write['wr_6'] = 127.029761590557;} // lng 초기좌표값 설정</p>

<p>

 

2. 카카오맵 API Key 해당게시판 여분필드 1 에 발급받은 javascript 키 등록

</p>

<p><script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=<?php echo $board['bo_1'] ?>&libraries=services"></script></p>

<p>

 

view.skin.php

</p>

<p><!-- API { --></p>

<p><script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=<?php echo $board['bo_1'] ?>&libraries=services"></script></p>

<p> </p>

<p><style></p>

<p>/* 말풍선 형식의 인포윈도우 스타일 */</p>

<p>.custom-infowindow {position: relative;padding: 10px;background-color: #ffffff;border: 1px solid #dddddd;border-radius: 5px;font-size: 14px;</p>

<p>    color: #333333;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);}</p>

<p>.custom-infowindow::before {content: '';position: absolute;top: 100%;left: 51%;margin-left: -10px;border-width: 10px;border-style: solid;</p>

<p>    border-color: #ffffff transparent transparent transparent;z-index: 1;}</p>

<p></style></p>

<p> </p>

<p><script></p>

<p>    var mapContainer = document.getElementById('map'); // 지도를 표시할 div</p>

<p>    var mapOption = {</p>

<p>        center: new daum.maps.LatLng(<?php echo $view['wr_5']?>, <?php echo $view['wr_6']?>), // 지도의 중심좌표</p>

<p>        level: 3 // 지도의 확대 레벨</p>

<p>    };</p>

<p> </p>

<p>    // 지도를 생성합니다    </p>

<p>    var map = new daum.maps.Map(mapContainer, mapOption);</p>

<p> </p>

<p>    // 마커</p>

<p>    var markerPosition = new daum.maps.LatLng(<?php echo $view['wr_5']?>, <?php echo $view['wr_6']?>);</p>

<p>    var marker = new daum.maps.Marker({</p>

<p>        position: markerPosition,</p>

<p>        map: map</p>

<p>    });</p>

<p> </p>

<p>    // 커스텀 인포윈도우를 생성합니다</p>

<p>    var infowindow = new daum.maps.CustomOverlay({</p>

<p>        position: markerPosition,</p>

<p>        content: '<div class="custom-infowindow"><?php echo cut_str(get_text($view['wr_subject']), 70); ?></div>',</p>

<p>        yAnchor: 2 // 인포윈도우의 Y축 위치를 조정합니다 (1: 마커 위에 표시, 0: 마커 아래에 표시)</p>

<p>    });</p>

<p> </p>

<p>    // 인포윈도우를 지도에 표시합니다</p>

<p>    infowindow.setMap(map);</p>

<p> </p>

<p>    // 로드뷰 추가</p>

<p>    var roadviewContainer = document.getElementById('roadview'); //로드뷰를 표시할 div</p>

<p>    var roadview = new kakao.maps.Roadview(roadviewContainer); //로드뷰 객체</p>

<p>    var roadviewClient = new kakao.maps.RoadviewClient(); //좌표로부터 로드뷰 파노ID를 가져올 로드뷰 helper객체</p>

<p> </p>

<p>    // 특정 위치의 좌표와 가까운 로드뷰의 panoId를 추출하여 로드뷰를 띄웁니다</p>

<p>    roadviewClient.getNearestPanoId(markerPosition, 50, function(panoId) {</p>

<p>        roadview.setPanoId(panoId, markerPosition); // panoId와 중심좌표를 통해 로드뷰 실행</p>

<p>    });</p>

<p></script></p>

<p> </p>

<p><!-- } API  --></p>

<p>// 하단의 스크립트 이전에 위의 api 스크립트 수정 및 추가</p>

<p><script></p>

<p><?php if ($board['bo_download_point'] < 0) { ?></p>

<p>$(function() {</p>

<p>이하생략~</p>

<p>

 

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

답변에 대한 댓글 1개

숙향
2년 전
감사합니다 싱경 쓰시느라 수고 많았습니다.저는 완전초보라 겨우 순서대로 홈페이지만 만들었지 아무것도 모르는 초보입니다 수고많이 하셨읍니다
초보라 포기하겠읍니다. 감사합니다

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

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

답변에 대한 댓글 1개

리오닥터
2년 전
카카오 맵에서 `TypeError: Cannot read properties of undefined (reading 'Geocoder')` 오류가 발생한 경우, 이는 일반적으로 `Geocoder` 객체가 제대로 정의되거나 초기화되지 않았음을 나타냅니다.

이 오류의 한 가지 가능한 원인은 지도 서비스의 스크립트가 제대로 로드되지 않았거나 전혀 로드되지 않은 경우입니다. 예를 들어, 카카오 맵을 사용하는 경우 HTML 파일에 카카오 맵의 스크립트를 포함하고 `Geocoder` 객체를 사용하기 전에 로드되었는지 확인해야 합니다.

이 오류의 또 다른 가능한 원인은 `Geocoder` 객체가 제대로 초기화되기 전에 접근되는 경우입니다. 예를 들어, 카카오 맵을 사용하는 경우 `Geocoder` 객체를 사용하기 전에 초기화되었는지 확인해야 합니다.

카카오 데브톡에서 비슷한 문제를 겪은 사람들이 있습니다. 한 사람은 라이브러리를 요청하는 URL이 처음 카카오 맵을 요청하는 URL과 중복되면서 `Geocoder` 객체를 인식하지 못했다고 합니다. 맵을 요청하는 URL을 지워주니 잘 인식했다고 합니다¹. 다른 사람은 서비스 라이브러리 파라미터를 추가한 스크립트 한 줄만 사용하니 해결되었다고 합니다².

이 정보가 문제 해결에 도움이 되길 바랍니다. 상황에 대한 자세한 정보를 제공하시면 더 구체적인 조언을 드릴 수 있습니다. ?


(1) Geocoder 사용 중 자꾸 정의되지 않았다는 에러가 발생합니다 .... https://devtalk.kakao.com/t/geocoder/103635.
(2) kakao.maps.services.Geocoder() 호출시 에러문의입니다. https://devtalk.kakao.com/t/kakao-maps-services-geocoder/99681.
(3) React Kakao Maps 구현시 Cannot read property ‘Geocoder’ of undefined 오류. https://devtalk.kakao.com/t/react-kakao-maps-cannot-read-property-geocoder-of-undefined/115215.
(4) undefined. http://dapi.kakao.com/v2/maps/sdk.js?appkey=.
(5) undefined. https://dapi.kakao.com/v2/maps/sdk.js?appkey=*******&libraries=LIBRARY.
(6) undefined. https://dapi.kakao.com/v2/maps/sdk.js?appkey=*******&libraries=services,clusterer,drawing.
(7) undefined. https://dapi.kakao.com/v2/maps/sdk.js?appkey=*******&libraries=services.

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

2년 전

오래전에 다운받아두었던것인데 지금은 모르겠네요 

안되면 포기하는수 밖에요 수고하셨읍니다.

 

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

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

2년 전

 

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

include_once(G5_LIB_PATH.'/thumbnail.lib.php');

 

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('', 0);

?>

$ex4_filed = explode("|",$view[wr_4]);

$ext4_00  = $ex4_filed[0];//상호

$ext4_01  = $ex4_filed[1];//오전,오후 (시작)

$ext4_02  = $ex4_filed[2];//시작시간

$ext4_03  = $ex4_filed[3];//오전오후(끝)

$ext4_04  = $ex4_filed[4];//끝시간

$ext4_05  = $ex4_filed[5];//24시간

$ext4_06  = $ex4_filed[6];//배달가부

$ext4_07  = $ex4_filed[7];//포장

$ext4_08  = $ex4_filed[8];//전화1-1

$ext4_09  = $ex4_filed[9];//전화1-2

$ext4_10  = $ex4_filed[10];//전화1-3

$ext4_11  = $ex4_filed[11];//전화2-1

$ext4_12  = $ex4_filed[12];//전화2-2

$ext4_13  = $ex4_filed[13];//전화2-3

$ext4_14  = $ex4_filed[14];//

$ext4_15  = $ex4_filed[15];//

$ext4_16  = $ex4_filed[16];//

$ext4_17  = $ex4_filed[17];//

$ext4_18  = $ex4_filed[18];//

$ext4_19  = $ex4_filed[19];//

$ext4_20  = $ex4_filed[20];//

 

/*

$wr_5 //휴일

$wr_6 //대표메뉴

$wr_7 //배달가능지역

$wr_8//오시는 길

$wr_9

$wr_10

*/

// 주소입력

$wr3 = explode('|',$view['wr_3']);

$ex_zip  = $wr3[0];

$ex_addr1  = $wr3[1];

$ex_addr2  = $wr3[2];

$ex_addr3  = $wr3[3];

$ex_jibeon  = $wr3[4];

?>

 

 

   

       

           

           

            echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력

            ?>

       

   

 

   

       

페이지 정보

        작성자

        댓글

        조회

        작성일

 

   

 

   

       

본문

 

   

 

       

           

                if (!$view['file'][0]['view']){

 

                    echo "

";

                    echo "사진 준비중입니다.";

                    echo "

";

                    } else

                    include_once "gallery.php";

                ?>

       

 

       

         

           

                   

  •            

           

           

 

           

                   

  • 업종
  •                

  •                      

                           

                       

                   

  •  

                   

  • 영업시간
  •                

  •                    

                                 echo $ext4_01." ".$ext4_02."시 부터  ".$ext4_03." ".$ext4_04."시 까지";

                            }

                            else if($ext4_05 == 2){

                                echo "24시간 영업";

                            }

                            else echo "***";

                        ?>

                   

  •                

                   

  • 정기휴일
  •                

  •  
  •  

                   

  • 대표메뉴
  •                

  •  
  •  

                   

                   

  • 배달가능지역
  •                

  •  
  •                

     

                   

                   

  • 배달
  •                

  • 배달은 하지 않습니다.
  •                

               

                   

  • 포장
  •                

  •                

                        echo "모든 메뉴 포장 가능";

                        } else if($ext4_07 == 2){

                        echo "일부 메뉴 포장 가능";

                        } else if($ext4_07 == 3){

                        echo "포장판매는 하지 않습니다.";

                        }

                        ?> 

                   

  •                

                   

  • 주차
  •                

  •                    

                            echo "주차가능";

                            }

                            else if ($ext4_14 == '2'){

                                echo "주차장 없음";

                            }

                        ?> 

                   

  •  

                   

  • 주문/예약
  •                

  • --  /  -- 
  •  

                   

  • 오시는 길
  •                

  •  
  •  

                   

  • 주소
  •                

  •                            

                                    $address = substr($view[wr_3], 5); // 3번 여유 필드에 저장 되어 있는 주소의 우편번호를 삭제

                                    $addr = str_replace("|","",$address); // | 태그 삭제

                                    echo $addr;

                                ?> 

                   

  •            

                       

         

         

 

       

   

 

 

 

 

       

       

       

       

       

       

           

       

            $wr_body_1 = explode("|",substr($view[wr_1], 1));

            $wr_body_2 = explode("|",substr($view[wr_2], 1));          

            for ($i = 0;  $i < count($wr_body_1); $i++) {

                $k=$i+1;

                echo

                    "

                   

                       

                       

                       

                       

                   

                    ";

                $i=$i+1;

            }

        ?>

       

메  뉴

           

가  격

           

메  뉴

           

가  격

       

$wr_body_2[$i]  원 $wr_body_2[$k]  원

 

 

 

 

 

 

   

 

 

 

   

   

   

       

   

 

   

 

 

 

     

        // 파일 출력

        $v_img_count = count($view['file']);

        if($v_img_count) {

            echo "

\n";

 

            for ($i=11; $i<=count($view['file']); $i++) {

                if ($view['file'][$i]['view']) {

                    //echo $view['file'][$i]['view'];

                    echo get_view_thumbnail($view['file'][$i]['view']);

                }

            }

 

            echo "

\n";

        }

         ?>

 

   

       

       

       

       

   

 

 

       

 

       

       

       

           

           

                추천

               

           

           

           

           

                비추천

               

           

           

       

       

            if($board['bo_use_good'] || $board['bo_use_nogood']) {

        ?>

       

            추천

            비추천

       

       

            }

        }

        ?>

       

   

 

   

        스크랩

 

       

        include_once(G5_SNS_PATH."/view.sns.skin.php");

        ?>

   

 

   

    $cnt = 0;

    if ($view['file']['count']) {

        for ($i=0; $i

            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])

                $cnt++;

        }

    }

     ?>

 

   

   

   

       

첨부파일

       

           

            // 가변 파일

            for ($i=0; $i

                if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {

             ?>

               

  •                

                   

                       

                   

                    ()

                    회 다운로드 | DATE :

               

  •        

                }

            }

             ?>

           

   

   

   

 

   

   

   

   

   

 

   

   

       

        ob_start();

        ?>

 

       

 

       

 

       

       

               

  • 이전글
  •            

  • 다음글  
  •        

       

       

        $link_buttons = ob_get_contents();

        ob_end_flush();

         ?>

   

   

 

   

    // 코멘트 입출력

    include_once(G5_BBS_PATH.'/view_comment.php');

     ?>

 

 

 

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

답변에 대한 댓글 1개

웹메이킹
2년 전
존재하지 않는 게시판으로 나오네요--;;

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

2년 전

그누보드 g5_food 게시판입니다 

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

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

내용만으로 봐서는 지도관련 스크립트를 불러오지 못하거나 오류가 있을 수 있습니다. 

참고로 write.skin.php, list.skin.php, view.skin.php 에 지도관련 스크립트가 있어야 하는데 보이지가 않네요..

스킨이 어떻게 제작이 되어 있는지 부터 파악을 해야 알 수 있을것 같습니다.

해당 URL 올려주시면 답변 받기가 더 쉽지 않을까 하는 생각입니다.

 

 

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

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

2년 전

지도는 고정이고 밑에 그림은 주소지를 가리키고 있어요

 

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

답변에 대한 댓글 1개

리오닥터
2년 전
아무래도 글 읽기 페이지를 봐야될것같아요 거기서 스크립트가 동작을 안하는것같아요

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

2년 전

주소를 입력했는데 지도는 서울로 고정. 그밑에 건물은 주소지로 나오는군요 

그밖에는 초보라 

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

답변에 대한 댓글 1개

리오닥터
2년 전
주소지 끝까지 입력을 해보세요 서울만 하지 마시구요

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

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

로그인