현재 위치의 위도와 경도를 php로 받기 채택완료
열공중
4년 전
조회 3,156
geolocation 통해 받은 위도 경도의 값을 php변수로 받을 수 있을까요?
$sql에 적용하기 위해서 $lat값으로 받으려고합니다. radians($lng))+sin(radians($lat))
클릭같은 어떤 액션없이 사이트 접속하면 바로 사용자의 위도 경도값을 가져오려고합니다.
아시는분 도움 좀 부탁드립니다.
<script>
$(document).ready(function(){
navigator.geolocation.getCurrentPosition(function(pos) {
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
$.ajax({
type:'POST',
url:'GetLocation.php',
data:'latitude='+latitude+'&longitude='+longitude
});
});
});
</script>
GetLocation.php
<?php
if(!empty($_POST['latitude']) && !empty($_POST['longitude'])){
$lat = $_POST['latitude'];
$lng = $_POST['longitude'];
//echo json_encode(array('latitude'=>$latitude,'longitude'=>$longitude));
//echo json_encode(array($latitude, $longitude));
}
?>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
답변에 대한 댓글 6개
�
열공중
4년 전
�
평정심
4년 전
GetLocation.php 아 퍼알에서 $lat , $lng 잘 표현되고 있을텐데요.
�
열공중
4년 전
@평정심 님 당연 GetLocation.php 여기선 잘 나옵니다.
ajax로 보낸 페이지에서 받아야해서 문제입니다.
즉 현재 페이지에서 접속자 위도 경도를 새로고침없이 받으려고 하는겁니다.
ajax로 보낸 페이지에서 받아야해서 문제입니다.
즉 현재 페이지에서 접속자 위도 경도를 새로고침없이 받으려고 하는겁니다.
�
평정심
4년 전
제가 질문을 좀 잘 이해를 못하겠는데요.
다른 페이지에서 받으시더래도 똑 같은 방법으로 받으시면 될텐데요...
다른 페이지에서 받으시더래도 똑 같은 방법으로 받으시면 될텐데요...
�
열공중
4년 전
@평정심 님 리스트 접속시 ajax로 GetLocation.php 보내면 GetLocation.php 여기에서는 $lat 잘 찍힙니다.
하지만 보내는 페이지 리스트에선 echo $lat 나오지않습니다.
다만 보내는 페이지에서 아래처럼하면 #location에 담을 순 있더군요.
제가 원하는건 보내는 페이지에서 php변수로 받아서
보내는 페이지 리스트에서 $sql에 적용하기 위해서 입니다.
[code]
<script>
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
type:'POST',
url:'GetLocation.php',
data:'latitude='+latitude+'&longitude='+longitude,
success:function(msg){
if(msg){
$("#location").html(msg);
}else{
$("#location").html('Not Available');
}
}
});
}
</script>
[/code]
<span id="location"></span>
하지만 보내는 페이지 리스트에선 echo $lat 나오지않습니다.
다만 보내는 페이지에서 아래처럼하면 #location에 담을 순 있더군요.
제가 원하는건 보내는 페이지에서 php변수로 받아서
보내는 페이지 리스트에서 $sql에 적용하기 위해서 입니다.
[code]
<script>
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
type:'POST',
url:'GetLocation.php',
data:'latitude='+latitude+'&longitude='+longitude,
success:function(msg){
if(msg){
$("#location").html(msg);
}else{
$("#location").html('Not Available');
}
}
});
}
</script>
[/code]
<span id="location"></span>
�
평정심
4년 전
그렇다면 ajax의 url에 예를들어 test.php라면 이걸 넣으시거나
url: "<?php echo $_SERVER['PHP_SELF'] ?>" 이걸 넣어 보세요.
url: "<?php echo $_SERVER['PHP_SELF'] ?>" 이걸 넣어 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
어떻게 받는지 몰라서요 ㅠㅠ