Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

จะใช้พิกัดตำแหน่งทางภูมิศาสตร์ใน HTML5 ได้อย่างไร


HTML5 Geolocation API ช่วยให้คุณแบ่งปันตำแหน่งของคุณกับเว็บไซต์โปรดของคุณ จาวาสคริปต์สามารถจับละติจูดและลองจิจูดของคุณ และสามารถส่งไปยังเว็บเซิร์ฟเวอร์ส่วนหลัง และทำสิ่งต่าง ๆ ที่เกี่ยวข้องกับการรับรู้ตำแหน่ง เช่น ค้นหาธุรกิจในท้องถิ่นหรือแสดงตำแหน่งของคุณบนแผนที่ พิกัดตำแหน่งทางภูมิศาสตร์ระบุตำแหน่งทางภูมิศาสตร์ของอุปกรณ์

วิธีการระบุตำแหน่งทางภูมิศาสตร์ getCurrentPosition() และ getPositionUsingMethodName() ระบุวิธีการเรียกกลับที่ดึงข้อมูลตำแหน่ง เมธอดเหล่านี้เรียกว่าอะซิงโครนัสกับตำแหน่งของอ็อบเจ็กต์ซึ่งเก็บข้อมูลตำแหน่งทั้งหมดไว้

อ็อบเจ็กต์ Position ระบุตำแหน่งทางภูมิศาสตร์ปัจจุบันของอุปกรณ์ ตำแหน่งจะแสดงเป็นชุดพิกัดทางภูมิศาสตร์พร้อมกับข้อมูลเกี่ยวกับหัวเรื่องและความเร็ว

คุณสมบัติของออบเจ็กต์ตำแหน่งประกอบด้วย −

คุณสมบัติ ประเภท คำอธิบาย
coords
วัตถุ
ระบุตำแหน่งทางภูมิศาสตร์ของอุปกรณ์ ตำแหน่งจะแสดงเป็นชุดพิกัดทางภูมิศาสตร์พร้อมกับข้อมูลเกี่ยวกับหัวเรื่องและความเร็ว
coords.latitude
Number
ระบุค่าประมาณละติจูดเป็นองศาทศนิยม ช่วงค่าคือ [-90.00, +90.00]
coords.longitude
Number
ระบุค่าประมาณลองจิจูดเป็นองศาทศนิยม ช่วงค่าคือ [-180.00, +180.00]

ต่อไปนี้ใช้วัตถุตำแหน่งที่มีพิกัดสำหรับละติจูดและลองจิจูด -

จะใช้พิกัดตำแหน่งทางภูมิศาสตร์ใน HTML5 ได้อย่างไร

วัตถุระบุตำแหน่งทางภูมิศาสตร์มีวิธีการดังต่อไปนี้ ทั้งหมดใช้พิกัดเพื่อดึงข้อมูลตำแหน่ง -

วิธีการ คำอธิบาย
getCurrentPosition() เมธอดนี้จะดึงข้อมูลตำแหน่งทางภูมิศาสตร์ปัจจุบันของผู้ใช้
watchPosition() เมธอดนี้จะดึงข้อมูลอัปเดตเป็นระยะเกี่ยวกับตำแหน่งทางภูมิศาสตร์ปัจจุบันของอุปกรณ์
clearWatch() เมธอดนี้จะยกเลิกการเรียก watchPosition ที่กำลังดำเนินอยู่


ตัวอย่าง

คุณสามารถลองเรียกใช้โค้ดต่อไปนี้เพื่อเรียนรู้วิธีทำงานกับตำแหน่งทางภูมิศาสตร์และใช้พิกัดตำแหน่งทางภูมิศาสตร์ใน HTML5 จะดึงข้อมูลอัปเดตเป็นระยะเกี่ยวกับตำแหน่งทางภูมิศาสตร์ปัจจุบันของอุปกรณ์ ตำแหน่งจะแสดงเป็นชุดพิกัดทางภูมิศาสตร์พร้อมกับข้อมูลเกี่ยวกับหัวเรื่องและความเร็ว

<!DOCTYPE HTML>
<html>
   <head>
      <script type="text/javascript">
         var watchID;
         var geoLoc;
         function showLocation(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            alert("Latitude : " + latitude + " Longitude: " + longitude);
         }
         function errorHandler(err) {
            if(err.code == 1) {
               alert("Error: Access is denied!");
            } else if( err.code == 2) {
               alert("Error: Position is unavailable!");
            }
         }
         function getLocationUpdate(){
            if(navigator.geolocation){
               // timeout at 60000 milliseconds (60 seconds)
               var options = {timeout:60000};
               geoLoc = navigator.geolocation;
               watchID = geoLoc.watchPosition(showLocation, errorHandler, options);
            } else{
               alert("Sorry, browser does not support geolocation!");|
            }
         }
      </script>
   </head>
   <body>
      <form>
         <input type="button" onclick="getLocationUpdate();" value="Watch Update"/>
      </form>
   </body>
</html>