<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p>Xác định vị trí bằng Geolocation API</p>
<script src="script.js"></script>
</body>
</html>
// Kiểm tra xem trình duyệt có hỗ trợ Geolocation không
if ("geolocation" in navigator) {
console.log("Trình duyệt hỗ trợ định vị.");
// Hàm thành công khi lấy được vị trí
function success(position) {
const latitude = position.coords.latitude; // Vĩ độ
const longitude = position.coords.longitude; // Kinh độ
const accuracy = position.coords.accuracy; // Độ chính xác (mét)
console.log(`Vĩ độ: ${latitude}, Kinh độ: ${longitude}`);
console.log(`Độ chính xác trong bán kính: ${accuracy} mét`);
// Sau khi có tọa độ, bạn có thể dùng Google Maps API hoặc OpenStreetMap
// để hiển thị vị trí này trên bản đồ.
}
// Hàm xử lý lỗi (ví dụ: người dùng từ chối)
function error(err) {
switch(err.code) {
case err.PERMISSION_DENIED:
console.warn("Người dùng đã từ chối cấp quyền vị trí.");
break;
case err.POSITION_UNAVAILABLE:
console.warn("Không thể xác định được vị trí.");
break;
case err.TIMEOUT:
console.warn("Hết thời gian chờ lấy vị trí.");
break;
default:
console.warn("Lỗi không xác định: " + err.message);
break;
}
}
// Tùy chọn cấu hình
const options = {
enableHighAccuracy: true, // Cố gắng lấy vị trí chính xác nhất (tốn pin hơn)
timeout: 5000, // Thời gian chờ tối đa (5 giây)
maximumAge: 0 // Không dùng vị trí cũ lưu trong cache
};
// GỌI HÀM ĐỂ LẤY VỊ TRÍ (Sẽ kích hoạt popup hỏi quyền)
navigator.geolocation.getCurrentPosition(success, error, options);
} else {
console.log("Trình duyệt không hỗ trợ Geolocation API.");
}