카카오맵에서 좌표값 가져오기 중에 질문드립니다. 채택완료
안녕하세요 여러번 질문 드려 문제 해결해가고 있는 초보입니다.
전에 질문 했던것들은 아이디 (배르만 세진컴퓨터랜드 블랙캣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개
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개
댓글을 작성하려면 로그인이 필요합니다.
질문1. 서밋이나 버튼을 클릭하지않고 자동으로 나오게 할수 있는 방법이 있을까요?
있다면 상세히 좀 부탁드리겠습니다.
==
나온다는 것이 어디에 나온다는 것일까요?
답변에 대한 댓글 5개
제가 원하는 방식은
$getX = $_POST['getY']; 값을 클릭없이 구하는 겁니다.
위에 적은 코드를 보면 인풋 타입 서밋을 클릭해야만 나오는 방식이라
클릭 안했을때 나왔음 하거든요
혹시 방법이 있을까요?
$('#getY').val(lng);
이 값이 위도 경도 값 같은데
원하시는 것이 이거 아닌가요?
스크립트의
$('#getX').val(lat);
$('#getY').val(lng);
값을 php로 빼고 싶은데 아직 더 배워야 할것같습니다ㅜㅜ
자바스크립트 맘?대로 하는 건 해킹 수준 아닐까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인