Geolocation: phương thức getCurrentPosition()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Phương thức getCurrentPosition() của giao diện Geolocation được dùng để lấy vị trí hiện tại của thiết bị.
Lưu ý rằng ngoài việc yêu cầu một ngữ cảnh an toàn, tính năng này còn có thể bị chặn bởi Permissions-Policy geolocation, và cũng yêu cầu người dùng cấp quyền rõ ràng.
Nếu cần, người dùng sẽ được nhắc khi phương thức này được gọi.
Trạng thái quyền có thể được truy vấn bằng quyền người dùng geolocation trong Permissions API.
Cú pháp
getCurrentPosition(success)
getCurrentPosition(success, error)
getCurrentPosition(success, error, options)
Tham số
success-
Một hàm callback nhận một đối tượng
GeolocationPositionlàm đối số đầu vào duy nhất. errorOptional-
Một hàm callback tùy chọn nhận một đối tượng
GeolocationPositionErrorlàm đối số đầu vào duy nhất. optionsOptional-
Một đối tượng tùy chọn bao gồm các tham số sau:
maximumAgeOptional-
Một giá trị
longdương cho biết tuổi tối đa tính bằng mili giây của một vị trí có thể đã được lưu đệm mà vẫn chấp nhận trả về. Nếu đặt là0, điều đó có nghĩa là thiết bị không thể dùng vị trí đã lưu đệm và phải cố gắng lấy vị trí hiện tại thực sự. Nếu đặt làInfinitythiết bị phải trả về vị trí đã lưu đệm bất kể nó cũ bao nhiêu. Mặc định:0. timeoutOptional-
Một giá trị
longdương biểu thị thời gian tối đa tính bằng mili giây mà thiết bị được phép dùng để trả về vị trí. Giá trị mặc định làInfinity, nghĩa làgetCurrentPosition()sẽ không trả về cho đến khi vị trí khả dụng. enableHighAccuracyOptional-
Một giá trị boolean cho biết ứng dụng muốn nhận kết quả tốt nhất có thể. Nếu là
truevà thiết bị có thể cung cấp vị trí chính xác hơn, nó sẽ làm vậy. Lưu ý rằng điều này có thể dẫn đến thời gian phản hồi chậm hơn hoặc tiêu thụ điện năng nhiều hơn (ví dụ với chip GPS trên thiết bị di động). Ngược lại, nếu làfalse, thiết bị có thể tiết kiệm tài nguyên bằng cách phản hồi nhanh hơn và/hoặc dùng ít điện hơn. Mặc định:false.
Giá trị trả về
Không có (undefined).
Ví dụ
const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
function success(pos) {
const crd = pos.coords;
console.log("Your current position is:");
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
navigator.geolocation.getCurrentPosition(success, error, options);
Thông số kỹ thuật
| Specification |
|---|
| Geolocation> # getcurrentposition-method> |