Hướng dẫn free geolocation api php - api php định vị địa lý miễn phí


API định vị địa lý HTML được sử dụng để xác định vị trí của người dùng.


Định vị vị trí của người dùng

API định vị địa lý HTML được sử dụng để có được vị trí địa lý của người dùng.

Vì điều này có thể thỏa hiệp quyền riêng tư, vị trí không có sẵn trừ khi người dùng chấp thuận.

Lưu ý: Định vị địa lý là chính xác nhất cho các thiết bị có GPS, như điện thoại thông minh.Geolocation is most accurate for devices with GPS, like smartphones.


Hỗ trợ trình duyệt

Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ định vị địa lý.

API
Địa lý5.0 - 49.0 (HTTP) 50.0 (HTTPS)
50.0 (https)
9.0 3.5 5.0 16.0

Lưu ý: Kể từ Chrome 50, API định vị địa lý sẽ chỉ hoạt động trên các bối cảnh an toàn như HTTPS. Nếu trang web của bạn được lưu trữ trên nguồn gốc không an toàn (chẳng hạn như HTTP), các yêu cầu để có được vị trí người dùng sẽ không còn hoạt động. As of Chrome 50, the Geolocation API will only work on secure contexts such as HTTPS. If your site is hosted on an non-secure origin (such as HTTP) the requests to get the users location will no longer function.


Sử dụng định vị địa lý HTML

Phương thức getCurrentPosition() được sử dụng để trả về vị trí của người dùng.

Ví dụ dưới đây trả về vĩ độ và kinh độ của vị trí người dùng:

Thí dụ

var x = document.getEuityById ("demo"); function getLocation () {& nbsp; & nbsp; if (navigator.geoLocation) {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation (showPocation); & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

Hiển thị chức năng (vị trí) {& nbsp; x.innerhtml = "Latitude:" + vị trí.coords.latitude + & nbsp; & nbsp; "kinh độ:" + vị trí.coords.longitude; }
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "
Longitude: " + position.coords.longitude;
}

Hãy tự mình thử »

Ví dụ giải thích:

  • Kiểm tra xem định vị địa lý có được hỗ trợ không
  • Nếu được hỗ trợ, hãy chạy phương thức GetCienPocation (). Nếu không, hãy hiển thị thông báo cho người dùng
  • Nếu phương thức GetCienPocation () thành công, nó sẽ trả về một đối tượng tọa độ cho hàm được chỉ định trong tham số (hiển thị)
  • Hàm showpocation () đưa ra vĩ độ và kinh độ

Ví dụ trên là một tập lệnh định vị địa lý rất cơ bản, không có xử lý lỗi.



Xử lý lỗi và từ chối

Tham số thứ hai của phương thức getCurrentPosition() được sử dụng để xử lý các lỗi. Nó chỉ định một chức năng để chạy nếu nó không nhận được vị trí của người dùng:

Thí dụ

var x = document.getEuityById ("demo"); function getLocation () {& nbsp; & nbsp; if (navigator.geoLocation) {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation (showPocation); & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
  switch(error.code) {
    case error.PERMISSION_DENIED:
      x.innerHTML = "User denied the request for Geolocation."
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML = "Location information is unavailable."
      break;
    case error.TIMEOUT:
      x.innerHTML = "The request to get user location timed out."
      break;
    case error.UNKNOWN_ERROR:
      x.innerHTML = "An unknown error occurred."
      break;
  }
}

Hãy tự mình thử »


Ví dụ giải thích:

Kiểm tra xem định vị địa lý có được hỗ trợ không

Nếu được hỗ trợ, hãy chạy phương thức GetCienPocation (). Nếu không, hãy hiển thị thông báo cho người dùng

  • Nếu phương thức GetCienPocation () thành công, nó sẽ trả về một đối tượng tọa độ cho hàm được chỉ định trong tham số (hiển thị)
  • Hàm showpocation () đưa ra vĩ độ và kinh độ
  • Ví dụ trên là một tập lệnh định vị địa lý rất cơ bản, không có xử lý lỗi.

Xử lý lỗi và từ chối

Tham số thứ hai của phương thức getCurrentPosition() được sử dụng để xử lý các lỗi. Nó chỉ định một chức năng để chạy nếu nó không nhận được vị trí của người dùng:

Hàm tắm (lỗi) {& nbsp; & nbsp; switch (error.code) {& nbsp; & nbsp; & nbsp; trường hợp lỗi.permission_denied: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; x.innerhtml = "Người dùng đã từ chối yêu cầu định vị địa lý." & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; break; x.innerhtml = "Thông tin vị trí không khả dụng." & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; phá vỡ; x.innerhtml = "Yêu cầu để có được vị trí người dùng được định thời." & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; phá vỡ; & nbsp; & nbsp; & nbsp; trường hợp lỗi.unknown_error: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;}}Thông tin cụ thể về vị trí
Trang này đã trình diễn cách hiển thị vị trí của người dùng trên bản đồ.Định vị địa lý cũng rất hữu ích cho thông tin cụ thể về vị trí, như:
Thông tin địa phương cập nhậtHiển thị điểm lãi suất gần người dùng
Điều hướng từng lượt (GPS)Phương thức GetCienPocation () - Trả về dữ liệu
Phương thức getCurrentPosition() trả về một đối tượng về thành công. Các thuộc tính vĩ độ, kinh độ và độ chính xác luôn được trả lại. Các thuộc tính khác được trả về nếu có:Tài sản
Trả lạiPhối hợp
Vĩ độ như một số thập phân (luôn luôn được trả lại)phối hợp. Longitude
Kinh độ như một số thập phân (luôn luôn được trả lại)Phối hợp.accuracy
Độ chính xác của vị trí (luôn luôn được trả lại)Phối hợp

Độ cao tính bằng mét trên mực nước biển trung bình (trả về nếu có)

Phối hợp.Altitudeaccuracy

  • Độ chính xác độ cao của vị trí (trả về nếu có)
  • phối hợp. Đầu

Tiêu đề theo độ theo chiều kim đồng hồ từ Bắc (trở lại nếu có)

Thí dụ

var x = document.getEuityById ("demo"); function getLocation () {& nbsp; & nbsp; if (navigator.geoLocation) {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation (showPocation); & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.watchPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}
function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "
Longitude: " + position.coords.longitude;
}

Hãy tự mình thử »