HTML5 Geolocation
- ຫົນຕໍ່ຫລັງ HTML5 Migration
- ຫົນຕໍ່ຫລັງ HTML5 Drag and Drop
HTML5 Geolocation (ການຕັ້ງທີ່) ຖືກນຳໃຊ້ເພື່ອການຕັ້ງທິດສະຕາການຂອງຜູ້ນຳໃຊ້.
ຕອບກັບທາງທີ່ເຈົ້າຕ້ອງ: ສະແດງທິດສະຕາການທີ່ຂອງເຈົ້າໃນການກະຈາຍທາງ Google Maps.
ການຕັ້ງທິດສະຕາການຂອງຜູ້ນຳໃຊ້
API HTML5 Geolocation ຖືກນຳໃຊ້ເພື່ອຮັບຂໍ້ມູນການຕັ້ງທີ່ຂອງຜູ້ນຳໃຊ້.
ຕາມການຄິດຄຳນວຍຄວາມຄິດຂອງການມີຄວາມລັບຄວາມສິດທິມະນຸດຂອງຜູ້ນຳໃຊ້, ຂໍ້ມູນການຕັ້ງທີ່ຂອງຜູ້ນຳໃຊ້ຈະບໍ່ສາມາດໃຊ້ໄດ້ຖ້າບໍ່ມີຄວາມຍິນຍອມຈາກຜູ້ນຳໃຊ້.
ການສະໜັບສະໜູນບັນດາບຸລິມະສິດ
Internet Explorer 9、Firefox、Chrome、Safari ແລະ Opera ສະໜັບສະໜູນການບັນທຶກທີ່ຕັ້ງທີ່.
ຄວາມຄິດ:ສຳລັບອຸປະກອນທີ່ມີ GPS ເຊັ່ນ iPhone, ການບັນທຶກທີ່ຕັ້ງທີ່ຈະຈະສາມາດດີຫຼາຍກວ່າ.
HTML5 - ການສະແດງທີ່ຕັ້ງທີ່.
ຍັງມີການສະແດງວັດຖຸທິດສະຕາການແລະວັດຖຸກາງຂອງຜູ້ນຳໃຊ້ທີ່ຕ້ອງມີການສະແດງວັດຖຸທິດສະຕາການແລະວັດຖຸກາງ.
ຄືນນີ້ແມ່ນຄວາມທີ່ປະກອບການບັນທຶກການຕັ້ງທີ່ພາຍໃນການບັນທຶກວັດຖຸທິດສະຕາການແລະວັດຖຸກາງຂອງຜູ້ນຳໃຊ້.
ຕົວຢ່າງ
<script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{x.innerHTML="Geolocation is not supported by this browser.";} } function showPosition(position) { x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude; } </script>
ການອະທິບາຍຄຳວຽກ:
- ການກວດກາວ່າມີການສະໜັບສະໜູນການບັນທຶກທີ່ຕັ້ງທີ່ຫຼືບໍ່.
- ຖ້າມີການສະໜັບສະໜູນການບັນທຶກທີ່ຕັ້ງທີ່ພາຍໃນgetCurrentPosition()ຈະດຳເນີນການ.ຖ້າບໍ່ມີການສະໜັບສະໜູນຈະສະແດງຂໍ້ຄວາມໃຫ້ຜູ້ນຳໃຊ້.
- ຖ້າgetCurrentPosition()ດຳເນີນການສຳເລັດແລ້ວຈະກັບຄືນກັບການການຄາດຕະການcoordinatesໃຫ້ກັບການສະແດງຂອງshowPosition.
- ການບັນທຶກຂອງການສະແດງສະເພາະ()ທີ່ຮັບໄດ້ແລະສະແດງວັດຖຸທິດສະຕາການແລະວັດຖຸກາງ.
ບົດສະຫຼຸບດັ່ງກ່າວແມ່ນບົດສະຫຼຸບພາຍໃນການຕັ້ງທີ່ບໍ່ມີການຈັດການຄວາມຜິດພາດ.
ການຈັດການຄວາມຜິດພາດແລະປະຕິເສດ
ຄວາມສະເພາະຂອງການບັນທຶກທີ່ສອງຂອງຄວາມຕັ້ງທີ່ພາຍໃນການບໍ່ດີວ່າມັນຈະດຳເນີນການຕອບກັບຄວາມຜິດພາດ.ມັນພົບວ່າຈະດຳເນີນການຕອບກັບຄວາມຜິດພາດວ່າ:
ຕົວຢ່າງ
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; } }
ລະຫັດຜົນການບັນຫາ:
- Permission denied - ຜູ້ນຳທາງບໍ່ມີອະນຸຍາດການຕັ້ງດິນຕັດພິມສັນນິວານ
- Position unavailable - ບໍ່ສາມາດກອບຂໍ້ມູນການຕັ້ງດິນຕັດພິມສັນນິວານ
- Timeout - ການດຳເນີນຄວາມຫຼາຍເວລາ
ສະແດງຂໍ້ມູນທີ່ຕັ້ງດິນຕັດພິມສັນນິວານ
ຖ້າພະເຈົ້າຕ້ອງສະແດງຂໍ້ມູນທີ່ຕັ້ງດິນຕັດພິມສັນນິວານໃນທາງທີ່ພະເຈົ້າສາມາດມີການສະແດງທາງສັນນິວານໄດ້, ເປັນຕົວຢ່າງ Google Maps ຫຼື Baidu Maps:
ຕົວຢ່າງ
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+"' />"; }
ໃນຄັ້ງທີ່ນັ້ນພວກເຮົາໃຊ້ຂໍ້ມູນທາງສັນນິວານທີ່ຖືກກັບຄືນໂດຍຄຳຫຼີ້ນໃນ Google Maps ເພື່ອສະແດງການຕັ້ງດິນຕັດພິມສັນນິວານ (ໃຊ້ພາບການສະແດງຄຳນວຍງານ).
ພວກທາງຖານຂ້າມທີ່ພິສູດວ່າຈະສະແດງການນຳໃຊ້ບັນບາງຄຳຫຼີ້ນໃນການສະແດງຂໍ້ມູນທີ່ການຕັ້ງດິນຕັດພິມສັນນິວານທີ່ມີການຕິດຕັ້ງ, ການດຳເນີນຄວາມພັດທະນາ ແລະ ການຍ້າຍກັບ.
ຂໍ້ມູນທີ່ຕັ້ງດິນຕັດພິມສັນນິວານ
ກໍານົດປີກັບບາງຄຳວ່າດັ່ງກ່າວ: ບໍ່ດັ່ງນັ້ນການການລາຍງານການຕັ້ງດິນຕັດພິມສັນນິວານຈະມີຜົນດີຫຼາຍສຳລັບຂໍ້ມູນທີ່ກ່ຽວກັບການຕັ້ງດິນຕັດພິມສັນນິວານ.
ບັນທັງກໍານົດ
- ທີ່ພັດທະນາຂໍ້ມູນທ້ອງຖິ່ນ
- ສະແດງຫົວຂໍ້ອາຊີບທີ່ອ້ອມຮອບຜູ້ນຳທາງ
- ລະບົບການນຳທາງລົດຄອນເຄຣດການສຳລັບ GPS
getCurrentPosition() 方法 - ກັບຄືນຂໍ້ມູນ
ຖ້າປະສົບຜົນສຳເລັດການດຳເນີນງານ getCurrentPosition() ຈະຖືກກັບຄືນໂດຍວັດຖຸອອກມາຫຼາຍໆປະເພດຈາກຄືນດັ່ງກ່າວ. ຈະວາງຢູ່ latitude, longitude ແລະ accuracy ຂອງປະເພດຈາກຄືນດັ່ງກ່າວ. ຖ້າມີຢູ່ຈະຖືກກັບຄືນອີກປະເພດຈາກຄືນດັ່ງກ່າວ.
ປະກອບ | ອະທິບາຍ |
---|---|
coords.latitude | 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 is not supported by this browser.";} } function showPosition(position) { x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude; } </script>
- ຫົນຕໍ່ຫລັງ HTML5 Migration
- ຫົນຕໍ່ຫລັງ HTML5 Drag and Drop