>  기사  >  백엔드 개발  >  모바일 웹 측에서 실시간 위치 확인을 달성하는 방법

모바일 웹 측에서 실시간 위치 확인을 달성하는 방법

WBOY
WBOY원래의
2016-10-10 11:56:182299검색

위챗 공개계정은 택배기사 위치를 실시간으로 파악하는데 혹시 좋은 해결방법이나 인터페이스 없을까요?

답글 내용:

위챗 공개계정은 택배기사 위치를 실시간으로 파악하는데 혹시 좋은 해결방법이나 인터페이스 없을까요?

Html5 자체에서 지리적 위치를 얻을 수 있습니다(WGS-84)

단, 택배기사가 검은색 화면 없이 해당 웹페이지를 계속 열어둔다는 전제가 있습니다. 검은색 화면 이후에는 웹페이지의 스크립트가 일시 중지됩니다(그래서 GPS도 중지됩니다).

공식 계정은 메인 인터페이스 진입 시 좌표만 읽고 백그라운드에 업로드합니다. 웹 페이지에 들어가면 권한이 HTML과 동일하게 축소됩니다.
공식 계정의 JS API는 setInterval이 좌표를 계속 가져오지 않는 한 지속적으로 좌표를 가져오지 않으며 화면이 검게 변한 후 JS도 중지됩니다.

택배원의 좌표를 실시간으로 서버에 업로드해야 한다면, 유일한 방법은 APP입니다.


웹에서 지리적 위치를 얻는 방법: navigator.geolocation에는 세 가지 기능이 있습니다.

<code>void getCurrentPosition(onSuccess,onError,options);
//获取用户当前位置

int watchCurrentPosition(onSuccess,onError,options);
//持续获取当前用户位置

void clearWatch(watchId);
//watchId 为watchCurrentPosition返回的值
//取消监控</code>
<code>
function getLocation(){
   var options={
       enableHighAccuracy:true, 
       maximumAge:1000
   }
   if(navigator.geolocation){
       //浏览器支持geolocation
       navigator.geolocation.watchCurrentPosition(onSuccess,onError,options);
   }else{
       //浏览器不支持geolocation
   }
}

//成功时
function onSuccess(position){
   //返回用户位置
   //经度
   var longitude =position.coords.longitude;
   //纬度
   var latitude = position.coords.latitude;

}

//失败时
function onError(error){
   switch(error.code){
       case 1:
       alert("位置服务被拒绝");
       break;

       case 2:
       alert("暂时获取不到位置信息");
       break;

       case 3:
       alert("获取信息超时");
       break;

       case 4:
        alert("未知错误");
       break;
   }
}


//开始获得
getLocation();</code>

WGS-84를 Tencent/Baidu 좌표로 변환하는 방법은 https://www.oschina.net/code/...

를 참조하세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.