if (navigator.geolocation) { // GPS를 지원하면
//navigator.geolocation.watchPosition(function(position) { //위치정보를 계속해서 관제
navigator.geolocation.getCurrentPosition(function(position) { //단발성으로 현재 위치값
var latitude = position.coords.latitude; // 위도
var longitude = position.coords.longitude; // 경도
var xhr = new XMLHttpRequest(); //결과를 받아오기위한 xhr객체 선언
var formData = new FormData(); //POST로 보내기 위한 폼데이터 객체
formData.append('latitude', latitude); //위도 객체 추가
formData.append('longitude', longitude); // 경도 객체 추가
formData.append('gpsok', 1);
xhr.onreadystatechange = function() { // 요청에 대한 콜백
/** 보내는 과정중에 보여줄 메시지 처리. 사이트 속도가 빠르다면 하지 않아도 됩니다
순서 UNSENT, OPENED, HEADERS_RECEIVED, LODING
*/
if (xhr.readyState === xhr.UNSENT) {
//document.querySelector('.at-footer').innerHTML = xhr.responseText;
}
if (xhr.readyState === xhr.OPENED) {
//document.querySelector('.at-footer').innerHTML = xhr.responseText;
}
if (xhr.readyState === xhr.HEADERS_RECEIVED) {
//document.querySelector('.at-footer').innerHTML = xhr.responseText;
}
if (xhr.readyState === xhr.LOADING) {
//document.querySelector('.at-footer').innerHTML = xhr.responseText;
}
if (xhr.readyState === xhr.DONE) { // 요청이 완료되면
if (xhr.status === 200 || xhr.status === 201) {
// document.querySelector('.at-footer').innerHTML = xhr.responseText; //해당 요소 안에 들어있는 요소를 삭제하고 덮어씌움
document.querySelector('#apparea').innerHTML += xhr.responseText; //기존 요소를 삭제하지 않고 추가 하는 식.
} else {
document.querySelector('#apparea').innerHTML += xhr.responseText; // 받아오는 페이지의 에러(응답불가, 문법 오류등으로 인해 받아오지 못했을때 처리하는 부분)
}
}
};
// 여기로 보낼때 반응이 늦을수 있어서 url로 바로 보냄
//xhr.open('POST', '<?php echo EBIZ_APP_URL; ?>/gps__search__ok.php'); // 보낼 경로지정
//xhr.send(formData); //보냄
<?php if($set_app_after_url){ ?>
location.href = "<?php echo $set_app_after_url;?>?latitude="+latitude+"&longitude="+longitude+"&gpsok=1";
<?php } else { ?>
location.href = "/?latitude="+obj+"&longitude="+obj2+"&gpsok=1";
<?php } ?>
}, function(error) {
console.error(error);
alert("내 위치 확인을 허용 후 이용해주세요.");
}, {
enableHighAccuracy: false,
maximumAge: 0,
timeout: Infinity
});
} else {
alert("위치 정보를 지원하지 않는 시스템입니다.");
}
Top comments (0)