; var err=document.getElementById('err'); var heading=document.getElementById('heading'); var speed=document.getElementById('speed'); var timestamp=document.getElementById('timestamp'); if(window.DeviceOrientationEvent){ window.addEventListener('deviceorientation',函数(事件){ αvar; if(event.webkitCompassHeading){ alpha=event.webkitCompassHeading; } 否则{ alpha=event.alpha; } compass.innerHTML=alpha; },假); } if(导航器.地理位置){ 变量选项={ EnableHighAccurance:正确, 超时:6000, 最高限额:5000 }; navigator.geolocation.watchPosition( 更新位置, 手动定位错误, 选择 ); } } 函数更新位置(位置){ lat.innerHTML=position.coords.latitude; lon.innerHTML=position.coords.longitude; acc.innerHTML=position.coords.accurity; alt.innerHTML=position.coords.altitude; altAcc.innerHTML=position.coords.altitudeAccuracy; heading.innerHTML=position.coords.heading; speed.innerHTML=position.coords.speed; var t=新日期(position.timestamp).toString(); timestamp.innerHTML=t; addMsg(t); } 功能手柄位置错误(e){ var msg=e.code+':'; 开关(e.code){ 案例错误。权限被拒绝: msg+='权限被拒绝'; 打破 案例错误。位置不可用: msg+=“位置当前不可用。”; 打破 案例错误。权限被拒绝\u超时: msg+=“用户授予/拒绝权限花费了很长时间。”; 打破 案例错误。未知错误: msg+='发生未知错误'; 打破 } addMsg(msg); } 函数addMsg(msg){ err.appendChild(document.createTextNode('message:'+msg)); err.appendChild(document.createElement(“br”)); }

; var err=document.getElementById('err'); var heading=document.getElementById('heading'); var speed=document.getElementById('speed'); var timestamp=document.getElementById('timestamp'); if(window.DeviceOrientationEvent){ window.addEventListener('deviceorientation',函数(事件){ αvar; if(event.webkitCompassHeading){ alpha=event.webkitCompassHeading; } 否则{ alpha=event.alpha; } compass.innerHTML=alpha; },假); } if(导航器.地理位置){ 变量选项={ EnableHighAccurance:正确, 超时:6000, 最高限额:5000 }; navigator.geolocation.watchPosition( 更新位置, 手动定位错误, 选择 ); } } 函数更新位置(位置){ lat.innerHTML=position.coords.latitude; lon.innerHTML=position.coords.longitude; acc.innerHTML=position.coords.accurity; alt.innerHTML=position.coords.altitude; altAcc.innerHTML=position.coords.altitudeAccuracy; heading.innerHTML=position.coords.heading; speed.innerHTML=position.coords.speed; var t=新日期(position.timestamp).toString(); timestamp.innerHTML=t; addMsg(t); } 功能手柄位置错误(e){ var msg=e.code+':'; 开关(e.code){ 案例错误。权限被拒绝: msg+='权限被拒绝'; 打破 案例错误。位置不可用: msg+=“位置当前不可用。”; 打破 案例错误。权限被拒绝\u超时: msg+=“用户授予/拒绝权限花费了很长时间。”; 打破 案例错误。未知错误: msg+='发生未知错误'; 打破 } addMsg(msg); } 函数addMsg(msg){ err.appendChild(document.createTextNode('message:'+msg)); err.appendChild(document.createElement(“br”)); },geolocation,google-chrome-app,android-gps,Geolocation,Google Chrome App,Android Gps,罗盘:度 纬度:摄氏度 lon:deg acc:m 高度:m+msl 备选附件:m 标题:deg 速度:米/秒 时间戳: 信息: <DOCTYPE html> <html> <head> <style> body { background: white; font-family: Arial, Helvetica, sans-serif; font-size:

罗盘:度


纬度:摄氏度

lon:deg

acc:m

高度:m+msl

备选附件:m

标题:deg

速度:米/秒

时间戳:


信息:

<DOCTYPE html>
<html>
  <head>
    <style>
      body {
          background: white;
          font-family: Arial, Helvetica, sans-serif;
          font-size: 1em;
          color: #000;
      }
      @media all and (max-width: 1000px) {
          body { font-size: 200%;}
      }
    </style>
    <script>
      function init() {
        var compass = document.getElementById('compass');
        var lat = document.getElementById('lat');
        var lon = document.getElementById('lon');
        var acc = document.getElementById('acc');
        var alt = document.getElementById('alt');
        var altAcc = document.getElementById('altAcc');
        var err = document.getElementById('err');
        var heading = document.getElementById('heading');
        var speed = document.getElementById('speed');
        var timestamp = document.getElementById('timestamp');

        if(window.DeviceOrientationEvent) {
            window.addEventListener('deviceorientation', function(event) {
                var alpha;
                if(event.webkitCompassHeading) {
                  alpha = event.webkitCompassHeading;
                }
                else {
                  alpha = event.alpha;
                }
                compass.innerHTML = alpha;
            }, false);
        }

        if(navigator.geolocation) {
            var opts = {
                        enableHighAccuracy: true,
                        timeout: 6000,
                        maximumAge: 5000
                       };
            navigator.geolocation.watchPosition(
                    updateLocation,
                    handleLocationError,
                    opts
            );
        }
      }

    function updateLocation(position) {
        lat.innerHTML = position.coords.latitude;
        lon.innerHTML = position.coords.longitude;
        acc.innerHTML = position.coords.accuracy;
        alt.innerHTML = position.coords.altitude;
        altAcc.innerHTML = position.coords.altitudeAccuracy;
        heading.innerHTML = position.coords.heading;
        speed.innerHTML = position.coords.speed;
        var t = new Date(position.timestamp).toString();
        timestamp.innerHTML = t;
        addMsg(t);
    }

    function handleLocationError(e){
      var msg = e.code+': ';
      switch (e.code) {
          case error.PERMISSION_DENIED:
              msg += 'Permission was denied';
              break;
          case error.POSITION_UNAVAILABLE:
              msg +='Position is currently unavailable.';
              break;
          case error.PERMISSION_DENIED_TIMEOUT:
              msg += 'User took to long to grant/deny permission.';
              break;
          case error.UNKNOWN_ERROR:
              msg += 'An unknown error occurred.';
              break;
      }
      addMsg(msg);
    }

    function addMsg(msg){
      err.appendChild(document.createTextNode('message: '+ msg));
      err.appendChild(document.createElement("br"));
    }
    </script>
  </head>
  <body onload="init()" >
      <p>compass: <span id="compass"></span> deg</p>
      <hr>
      <p>lat: <span id="lat"></span> deg</p>
      <p>lon: <span id="lon"></span> deg</p>
      <p>acc: <span id="acc"></span> m</p>
      <p>alt: <span id="alt"></span> m +msl</p>
      <p>alt. acc: <span id="altAcc"></span> m</p>

      <p>heading: <span id="heading"></span> deg</p>
      <p>speed: <span id="speed"></span> m/s</p>
      <p>timestamp: <span id="timestamp"></span></p>
      <hr>
      <p>messages:</p>
      <div id="err"></div>
  </body>
</html>