HTML5 Geolocation API ช่วยให้คุณแบ่งปันตำแหน่งของคุณกับเว็บไซต์โปรดของคุณ จาวาสคริปต์สามารถจับละติจูดและลองจิจูดของคุณ และสามารถส่งไปยังเว็บเซิร์ฟเวอร์ส่วนหลัง และทำสิ่งต่าง ๆ ที่เกี่ยวข้องกับการรับรู้ตำแหน่ง เช่น ค้นหาธุรกิจในท้องถิ่นหรือแสดงตำแหน่งของคุณบนแผนที่ พิกัดตำแหน่งทางภูมิศาสตร์ระบุตำแหน่งทางภูมิศาสตร์ของอุปกรณ์
วิธีการระบุตำแหน่งทางภูมิศาสตร์ getCurrentPosition() และ getPositionUsingMethodName() ระบุวิธีการเรียกกลับที่ดึงข้อมูลตำแหน่ง เมธอดเหล่านี้เรียกว่าอะซิงโครนัสกับตำแหน่งของอ็อบเจ็กต์ซึ่งเก็บข้อมูลตำแหน่งทั้งหมดไว้
อ็อบเจ็กต์ Position ระบุตำแหน่งทางภูมิศาสตร์ปัจจุบันของอุปกรณ์ ตำแหน่งจะแสดงเป็นชุดพิกัดทางภูมิศาสตร์พร้อมกับข้อมูลเกี่ยวกับหัวเรื่องและความเร็ว
คุณสมบัติของออบเจ็กต์ตำแหน่งประกอบด้วย −
| คุณสมบัติ | ประเภท | คำอธิบาย |
| coords | วัตถุ | ระบุตำแหน่งทางภูมิศาสตร์ของอุปกรณ์ ตำแหน่งจะแสดงเป็นชุดพิกัดทางภูมิศาสตร์พร้อมกับข้อมูลเกี่ยวกับหัวเรื่องและความเร็ว |
| coords.latitude | Number | ระบุค่าประมาณละติจูดเป็นองศาทศนิยม ช่วงค่าคือ [-90.00, +90.00] |
| coords.longitude | Number | ระบุค่าประมาณลองจิจูดเป็นองศาทศนิยม ช่วงค่าคือ [-180.00, +180.00] |
ต่อไปนี้ใช้วัตถุตำแหน่งที่มีพิกัดสำหรับละติจูดและลองจิจูด -

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