HTML5 အခြေခံ အချက်အလက်
- အရှေ့စာရင်း HTML5 ပြောင်းလဲ
- နောက်ပိုင်း စာရင်း HTML5 ဖြတ်တောက်
HTML5 Geolocation(地理定位)用于定位用户的位置。
定位用户的位置
HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
浏览器支持
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
注释:对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。
HTML5 - 使用地理定位
请使用 getCurrentPosition() 方法来获得用户的位置。
下例是一个简单的地理定位实例,可返回用户位置的经度和纬度。
အကျိုးသက်
<script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{x.innerHTML="Geolocation မှာ ဘရောက်ကွန်း က လုပ်ကိုင်ခဲ့သည့် မရှိ.";} } function showPosition(position) { x.innerHTML="အရှေ့: " + position.coords.latitude + "<br />အရှေ့နောက်: " + position.coords.longitude; } </script>
例子解释:
- 检测是否支持地理定位
- 如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
- 如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象
- showPosition() 函数获得并显示经度和纬度
上面的例子是一个非常基础的地理定位脚本,不含错误处理。
处理错误和拒绝
getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数:
အကျိုးသက်
function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="အသုံးပြုသူက ခွင့်ပြုခြင်း ပြန်ဆိုခဲ့ပါသည်。 break; case error.POSITION_UNAVAILABLE: x.innerHTML="သတင်းပေးခြင်း မရတတ်သေးသည်。 break; case error.TIMEOUT: x.innerHTML="The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML="An unknown error occurred." break; } }
Error code:
- Permission denied - အသုံးပြုခွင့် မရှိ
- Position unavailable - အရှိန်အနေအထား မရရှိ
- Timeout - လုပ်ဆောင်မှု ကြာခဲ့
လောင်ဂျီ ပုံး တွင် အရာဝတ္တု ဖော်ပြ
လောင်ဂျီ ပုံး တွင် အရာဝတ္တု ဖော်ပြရန် အသုံးပြုရာတွင် လောင်ဂျီ အား သုံးစွဲနိုင်သော လောင်ဂျီ အက်စ်ဗေး ကို ခွင့်ပြုသည်။ ဥပမာ၌ ဂူဂဲဂျီ လောင်ဂျီ သို့မဟုတ် ဘုံဘုတ် လောင်ဂျီ ကို ခွင့်ပြုနိုင်
အကျိုးသက်
function showPosition(position) { var latlon=position.coords.latitude+","+position.coords.longitude; var img_url="http://maps.googleapis.com/maps/api/staticmap?center=" +latlon+"&zoom=14&size=400x300&sensor=false"; document.getElementById("mapholder").innerHTML="<img src='"+img_url+"' />"; }
အထူးသတင်းတွင်,ကိုင်းတပ် ကို ပြန်လည်ပေးသော လောင်ဂျီ နှင့် အချက်အလက် ကို ပြသည် (အခမဲ့ ပုံများ အသုံးပြု)
အမှတ်ပြောင်းသွားသော ခုခံ ပုံး ကို ဖော်ပြသည်။ အသုံးပြုသူ၏ အရှိန်အနေအထား နှင့် အချက်အလက်များ ပြန်လည်ပေးသည်။
ဒေသခံ အချက်အလက်
ဤ စာမေးသတင်း က လောင်ဂျီ ပုံး တွင် အသုံးပြုသူ၏ အရှိန်အနေအထား ဖော်ပြခြင်း ကို ပြသည်။ သို့သော်လည်း,ဒေသခံ အချက်အလက် ကို ဖော်ပြရန် လောင်ဂျီ သတ်မှတ်ခြင်း အသုံးပြုသည်။
အမှတ်အသား:
- ဒေသခံ အချက်အလက် ထပ်ထည့်
- အသုံးပြုသူ၏ အရှိန်အနေအထား ထိပ်သို့ ဖော်ပြ
- အင်တာနက်တွင် အခြေခံ လောင်ဂျီ ကွန်ပျူတာ အမည် (GPS)
getCurrentPosition() စနစ် - ပြန်လည်ပေးသော အချက်အလက်
အောင်မြင်ခဲ့လျှင်,getCurrentPosition() စနစ် အရာဝတ္တု ကို ပြန်လည်ပေးသည်။ အမြောက်အမြား ကို ပြန်လည်ပေးသည်။ latitude, longitude နှင့် accuracy အချက်အလက်များ ပြန်လည်ပေးသည်။ အသုံးပြုနိုင်ခဲ့လျှင်,အောက်ပါ အချက်အလက်များ ပြန်လည်ပေးသည်。
အချက်အလက် | ဖော်ပြ |
---|---|
coords.latitude | စက္ကူဗေဒဆိုင်ရာ အမြောက် |
coords.longitude | စက္ကူဗေဒဆိုင်ရာ လောင်ဂျီ |
coords.accuracy | သတ်မှတ်ထားသော အရှည် |
coords.altitude | ပြင်းထန်သော ရေမြောက် အားကောင်းခြင်း မှ မြေမြှုပ် အား မီတာအတိုင်း ရှိ |
coords.altitudeAccuracy | 位置的海拔精度 |
coords.heading | 方向,从正北开始以度计 |
coords.speed | 速度,以米/每秒计 |
timestamp | 响应的日期/时间 |
Geolocation 对象 - 其他有趣的方法
watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone):
အကျိုးသက်
<script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.watchPosition(showPosition); } else{x.innerHTML="Geolocation မှာ ဘရောက်ကွန်း က လုပ်ကိုင်ခဲ့သည့် မရှိ.";} } function showPosition(position) { x.innerHTML="အရှေ့: " + position.coords.latitude + "<br />အရှေ့နောက်: " + position.coords.longitude; } </script>
- အရှေ့စာရင်း HTML5 ပြောင်းလဲ
- နောက်ပိုင်း စာရင်း HTML5 ဖြတ်တောက်