index.php 파일에서 사용자의 위치값을 php 변수에 넣고 싶습니다.
질답게시판에 질문을 드렸는데 아무래도 답변을 얻지 못할 것 같아서 의뢰드립니다.
현재 사용중인 index.php 파일에 아래와 같은 스크립트를 넣었습니다.
<script>
$(document).ready(function(){
navigator.geolocation.getCurrentPosition(function(pos) {
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
alert("현재 위치는 : " + latitude + ", "+ longitude);
});
});
</script>
위 스크립트를 넣고 사이트를 열면 앨럿창에 사용자의 현재 위도와 경도가 앨럿창에 뜨게 됩니다.
이 위도와 경도 값을 같은 index.php 파일에서
latitude 값은 $lat
longitude 값은 $lng 에 대입하고 싶습니다.
구글링해보니 ajax로 해야 한다고 하는데 능력이 없습니다.
https://www.spaceotechnologies.com/html5-geolocation-api-current-location-php/
위 링크를 참고삼아 만들어보려 했지만 저대로 똑같이 따라해도 않됩니다. ㅠ_ㅠ
(사용자의 IP를 이용해서 얻은 위도 경도 값은 안됩니다.
아이피로 위도경도값을 받아오니 실제 사용자의 위치와 많은 차이가 납니다.
꼭 저런 방식으로 얻은 위도 경도 값을 받기 원합니다.
도메인은 https 보안서버 적용되어 있습니다.)
제가 계속 index.php 파일이라고 말씀드리는 이유는
사용자의 어떤 액션없이 사이트에 입장하는 순간
사용자의 위도 경도값을 알아내서
index.php에 적용하려고 하기 때문입니다.
echo $lat;
echo $lng;
라고 입력했을 때 위도경도 값이 나타나는 index.php 파일 하나 제작해 주시면 됩니다.
제작금액과 기간을 알려주세요.
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 4개
$sql = " SELECT it_id~~~~ <--이후 작업이 무엇인지 모르겠으나
GetLocation.php내용을
$sql = " SELECT it_id~~~<-- 이것을 넣고 필요한 내용을
가공한 후 출력하면 index.php에서 받아서 사용하도록 만드세요
2. index.php를 간단하게 위의 자바스크립트만으로 제작한다음
index2.php에 본래의 index.php내용을($sql = " SELECT it_id~~포함된) 넣어서 사용하면 됩니다
<script>
navigator.geolocation.getCurrentPosition(function(pos) {
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
location.href = "index2.php?lat="+latitude;
</script>
3. index2.php로 주소창에 표시되는 것이 마음에 들지않는다면
index.php에서 lat값이 넘어왔으면 $sql 실행하고 아니면 lat값을 index.php로 넘기도록
자바스크립트를 상단에 넣어도 됩니다
-------------------------------------------------
위 내용은 q/a게시판에서 답변을 해도 될 정도의 것인데 해보시고
안되면 연락주세요
작업비 5만원 입니다
010-3557-7264 김태균
ktg3355@naver.com
http://cyberline.kr
하지만 말씀대로 해보려고 해도 일단 이해가 가질 않습니다 ㅠ-ㅠ
이해가 않되니 작업을 못하는게 뻔하겠고....;;;;
작업비용 입금할 계좌번호 알려주시면 바로 입금하겠습니다!!!!
금요일이라고 가족들과 늦은 저녁을 먹다보니 문자를 드리기는 죄송스럽네요.
작업에 필요한 사항이 있다면 문자주시길 바랍니다.
010-5346-0066
감사합니다!
추가 내용을 적습니다.
-------------------------------
제가 질답 게시판에 남긴 글과 의뢰글을 정리해서 말씀드리자면
제가 (6개월째 ㅠ_ㅠ) 만들고 있는 사이트는 영카트로 만든 사이트이며
이전에도 이 사이트때문에 몇번의 질문을 드렸었고 균이님께서 도움을 주셨습니다.
이번의 의뢰건을 이해시켜 드리고자 설명드리자면
1. 영카트의 모든 상품은 여분필드에 위도(it_2) 경도(it_3)가 이미 입력이 되어 있고
2. 사이트 접속자(이용자)의 위치에 따라 메인페이지의 상품을 사용자의 위치에 가까운 것들로 목록화 하려고 합니다.
첫페이지(index.php)에 보여지는 상품의 목록이
사용자의 접속 위치(위도 경도)에 따라
달리 보여주길 바라고 있습니다.
사이트는 영카트로 제작되어 있으며
사용자의 위치에 따라 상품의 목록이 바뀌길 바라는 소스는 아래와 같습니다.
<?php
$main_skin_file = G5_SHOP_SKIN_PATH.'/main.place.skin.php';
$sql = " SELECT it_id, it_name,it_price,it_basic,it_explan, it_1, it_2,it_3, (6371*acos(cos(radians($lat))*cos(radians(it_3))*cos(radians(it_2) - radians($lng))+sin(radians($lat))*sin(radians(it_3)))) AS distance FROM g5_shop_item HAVING distance <= 10 ORDER BY distance LIMIT 0,40 ";
$list = new item_list($main_skin_file,4, 0, 260, 260);
$list->set_query($sql);
$list->set_view('it_id', false);
$list->set_view('it_name', true);
$list->set_view('it_basic', true);
$list->set_view('it_cust_price', true);
$list->set_view('it_price', true);
$list->set_view('it_icon', true);
echo $list->run();
?>
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
에 나온 latitude와 longitude 값이 들어가길 원하는 것입니다.
$sql = " SELECT it_id, it_name,it_price,it_basic,it_explan, it_1, it_2,it_3, (6371*acos(cos(radians($lat))*cos(radians(it_3))*cos(radians(it_2) - radians($lng))+sin(radians($lat))*sin(radians(it_3)))) AS distance FROM g5_shop_item HAVING distance <= 10 ORDER BY distance LIMIT 0,40 ";
척보면 딱 아시겠지만 위 소스는
영카트의 상품테이블(g5_shop_item)에서 접속자의 위치와 거리상 10km이하의 위도 경도의 값을 갖는 상품을 선택하라...
입니다.
그런데 접속자의 $lng과 $lat 를 제가 넣을 수 없다보니 의뢰를 드리는 것입니다.
저 값만 들어가면 메인페이지의 상품이
접속한 회원마다 지역별로 다 다르게게 보이게 되니까요.
--------------------------------------