HTML5 Geolocation

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 ເພື່ອສະແດງການຕັ້ງດິນຕັດພິມສັນນິວານ (ໃຊ້ພາບການສະແດງຄຳນວຍງານ).

ບັນບາງຄຳຫຼີ້ນຂອງ 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>

ສອບສວນຕົວເອງ