; 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>