현재 위치를 변수 또는 세션으로 처리하는 방법이 있을까요?
본문
안녕하세요.
geolocation에서 현제 위치 위도 경도의 값을 변수 또는 세션으로 처리할수 있을까요?
<script>
$(document).ready(function(){
navigator.geolocation.getCurrentPosition(function(pos) {
val lat = pos.coords.latitude;
val lon= pos.coords.longitude;
//alert("현재 위치는 : " + position.coords.latitude + ", "+ position.coords.longitude);
$.ajax({
type:'POST',
url:'myxy.php',
data:'lat='+lat+'&lon='+lon
});
});
});
</script>
myxy.php
<?php
if(!empty($_POST['lat']) && !empty($_POST['lon'])){
$lat = $_POST['lat'];
$lng = $_POST['lon'];
}
?>
<?php echo $_GET['lat']; ?>
이렇게 했지만 값이 안나오는걸봐서는 처리가 안되는거 같습니다
알림창에서 허용을 하면 좌표는 잘 받아옵니다..
조언 좀 부탁드립니다.
감사합니다!.
답변 3
myxy.php 파일만 가지고 테스트를 하시려면
postman 같은 툴로 post method request 해야 echo 문이 보일 거구요
ajax 통신 후 success 콜백으로 콘솔에 찍으셔야
$.ajax({
type:'POST',
url:'myxy.php',
data:'lat='+lat+'&lon='+lon,
success: function(data) {
console.log(data);
// something to do...
},
error: function(xhr, status, error) {
console.log(xhr, status, error); // 문제점을 찾으려면 error 도 출력해보세요
});
post로 보냈는데 echo에선 get으로 찍고있네요
변수에 담으셨으니 echo $lat로 찍어보세요
해결하셨어요? 소스코드 올려주시면 안될까요? 감사합니다.