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

카카오맵에서 좌표값 가져오기 중에 질문드립니다. 채택완료

gm막걸리 3년 전 조회 2,002

안녕하세요 여러번 질문 드려 문제 해결해가고 있는 초보입니다.

전에 질문 했던것들은 아이디 (배르만  세진컴퓨터랜드  블랙캣77  볼피드) 님들의 답변으로 해결했습니다.

염치없지만 한번 더 질문 드리겠습니다.

 

</strong></p>

<p> </p>

<p><div id="map" style="width:100%;height:350px;"></div></p>

<p><script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=api키값"></script></p>

<p><script></p>

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

<p>    mapOption = {</p>

<p>        center: new kakao.maps.LatLng(35.750701, 127.570667), // 지도의 중심좌표</p>

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

<p>    };</p>

<p> </p>

<p>var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다</p>

<p> </p>

<p>// 지도에 클릭 이벤트를 등록합니다</p>

<p>// 지도를 클릭하면 마지막 파라미터로 넘어온 함수를 호출합니다</p>

<p>kakao.maps.event.addListener(map, 'click', function(mouseEvent) {        </p>

<p>   </p>

<p>    // 클릭한 위도, 경도 정보를 가져옵니다</p>

<p>    var latlng = mouseEvent.latLng;</p>

<p>    var lat= latlng.getLat();</p>

<p>    var lng= latlng.getLng();</p>

<p>   </p>

<p>    $('#getX').val(lat);</p>

<p>    $('#getY').val(lng);</p>

<p>});</p>

<p></script></p>

<p> </p>

<p><form id="fromId"  method="post" action="./index.php"></p>

<p>    <!-- hidden --></p>

<p>      <input type="hidden"id="getX" name="getX" value=""></p>

<p>      <input type="hidden"id="getY" name="getY" value=""></p>

<p>      <input type="submit" value="전송"></p>

<p></form></p>

<p><form id="from"  method="post" action="./test.php"></p>

<p> </p>

<p><?</p>

<p>$getX =  $_POST['getX'];</p>

<p>$getX =  $_POST['getY'];</p>

<p> </p>

<p>echo $_POST['getY'];</p>

<p>echo "
";</p>

<p>echo $_POST['getX'];</p>

<p>?></p>

<p><strong>
 

 

현재 이런식으로 스크립트에서 php로 좌표 가져오는중인데

폼에서 서밋이나 버튼으로 하면 클릭해야 가져오는 방식입니다.

 

질문1. 서밋이나 버튼을 클릭하지않고 자동으로 나오게 할수 있는 방법이 있을까요?

         있다면 상세히 좀 부탁드리겠습니다.

질문2. 아작스라는 방법이 있다는데 여러번 찾아봤지만 실패해서 폼형식으로 했습니다.

         아작스 방법 좀 상세히 부탁드립니다.

염치없지만 주석처리해주시면서 설명해주시면 감사하겠습니다.

 

그리고 위에 말씀드렸던 아이디 (배르만  세진컴퓨터랜드  블랙캣77  볼피드)님들 덕분에

공부에 재미가 생겼습니다 감사합니다.

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

답변 2개

채택된 답변
+20 포인트
3년 전

jQuery.ajax 는

https://api.jquery.com/jquery.ajax/

참조하시면 되고

 

페이지 하나에 이소스만 구성해서 해보시고

웹브라우저 개발자도구 콘솔 열고 확인해보세요.

이해하시면 쉽게 해결하실수 있으리라 생각됩니다.

 

</p>

<p><?php

$getX = isset($_POST['getX']) ? $_POST['getX'] : '';

$getY = isset($_POST['getY']) ? $_POST['getY'] : '';</p>

<p>if (empty($getX) === false && empty($getY) === false) {

    $arr = ['getX' => $getX, 'getY' => $getY];

    echo json_encode($arr);

} else {

?></p>

<p><script src="//code.jquery.com/jquery.min.js"></script>

<script>

$(function () {

    $(document).click(function (evt) {

        var x = evt.clientX;

        var y = evt.clientY;

        $.ajax({

            url: '<?php echo $_SERVER['PHP_SELF']; ?>',

            method: 'POST',

            data: {getX: x, getY: y},

        }).done(function (msg) {

            console.log(msg);

        }).fail(function (jqXHR, textStatus) {

            console.log( "Request failed: " + textStatus );

        });

    });

});

</script></p>

<p><?php

}

?></p>

<p>

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

답변에 대한 댓글 1개

g
gm막걸리
3년 전
친절한 답변 감사합니다. 적용해서 더 공부해보겠습니다.

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

질문1. 서밋이나 버튼을 클릭하지않고 자동으로 나오게 할수 있는 방법이 있을까요?

         있다면 상세히 좀 부탁드리겠습니다.

==

나온다는 것이 어디에 나온다는 것일까요?

 

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

답변에 대한 댓글 5개

g
gm막걸리
3년 전
답변 감사합니다. 제가 설명을 잘못했나 봅니다.
제가 원하는 방식은
$getX = $_POST['getY']; 값을 클릭없이 구하는 겁니다.
위에 적은 코드를 보면 인풋 타입 서밋을 클릭해야만 나오는 방식이라
클릭 안했을때 나왔음 하거든요
혹시 방법이 있을까요?
엑스엠엘
3년 전
$('#getX').val(lat);
$('#getY').val(lng);
이 값이 위도 경도 값 같은데
원하시는 것이 이거 아닌가요?
g
gm막걸리
3년 전
맞습니다
스크립트의
$('#getX').val(lat);
$('#getY').val(lng);
값을 php로 빼고 싶은데 아직 더 배워야 할것같습니다ㅜㅜ
엑스엠엘
3년 전
서버로 무엇인가 전송할 때
자바스크립트 맘?대로 하는 건 해킹 수준 아닐까요?
g
gm막걸리
3년 전
답변감사합니다. 안되는거였군요 더 공부하겠습니다

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

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

로그인