HTML5 Geolocation API อนุญาตให้แบ่งปันตำแหน่งกับเว็บไซต์ JavaScript สามารถดึงละติจูดและลองจิจูดส่งไปยังเซิร์ฟเวอร์เพื่อค้นหาธุรกิจใกล้เคียงหรือแสดงตำแหน่งบนแผนที่
Geolocation ซับซ้อน จึงต้องจับข้อผิดพลาดและจัดการอย่างเหมาะสม
เมธอด getCurrentPosition() และ watchPosition() ใช้ callback function สำหรับจัดการข้อผิดพลาด ซึ่งจะส่งอ็อบเจกต์ PositionError ที่มีคุณสมบัติ 2 อย่าง:
| คุณสมบัติ | ชนิด | คำอธิบาย |
|---|---|---|
| code | Number | รหัสข้อผิดพลาดเป็นตัวเลข |
| message | String | ข้อความอธิบายข้อผิดพลาด |
รหัสข้อผิดพลาดที่เป็นไปได้
| รหัส | ค่าคงที่ | คำอธิบาย |
|---|---|---|
| 0 | UNKNOWN_ERROR | ล้มเหลวในการดึงตำแหน่งเนื่องจากข้อผิดพลาดไม่ทราบสาเหตุ |
| 1 | PERMISSION_DENIED | ผู้ใช้ปฏิเสธอนุญาตให้เข้าถึงตำแหน่ง |
| 2 | POSITION_UNAVAILABLE | ไม่สามารถระบุตำแหน่งได้ |
| 3 | TIMEOUT | หมดเวลารอการตอบสนองเกินเวลาที่กำหนด |
ตัวอย่างการใช้งาน error handler callback:
function errorHandler(err) {
if(err.code == 1) {
alert("Error: Access is denied!");
} else if(err.code == 2) {
alert("Error: Position is unavailable!");
}
}