Làm cách nào để có được vị trí địa lý trong PHP?

Trong bài viết này, chúng tôi sẽ tạo một trang web nơi người dùng có thể nhập Địa chỉ IP của bất kỳ thiết bị nào, sau đó máy chủ sẽ cung cấp Định vị địa lý của địa chỉ IP tìm nạp các chi tiết sau bằng API Định vị địa lý IP

Trong một ứng dụng web, bạn có đang yêu cầu khách truy cập chọn tên quốc gia hoặc tên thành phố hoặc bất kỳ thông tin nào khác liên quan đến vị trí không?

Định vị địa lý cung cấp thông tin về vị trí địa lý chi tiết của khách truy cập. API này sử dụng địa chỉ IP để nhận thông tin chi tiết về địa lý của khách truy cập

Vì vậy, để theo dõi tất cả các chi tiết, chúng tôi cần địa chỉ IP của khách truy cập. Sử dụng địa chỉ IP, chúng tôi dễ dàng nhận được tất cả các chi tiết định vị địa lý

Trong hướng dẫn này, chúng ta sẽ xem cách lấy vị trí địa lý từ các địa chỉ IP bằng PHP

Ở đây chúng tôi sẽ sử dụng API định vị địa lý miễn phí để nhận thông tin chi tiết về vị trí theo địa chỉ IP

Bước 1. Nhận địa chỉ IP của người dùng bằng PHP

$visitorIP = $_SERVER['REMOTE_ADDR'];

Bước 2. Nhận vị trí từ địa chỉ IP trong PHP với API vị trí địa lý

<?php $visitorIP = $_SERVER['REMOTE_ADDR']; $apiURL = '//freegeoip.app/json/'.$visitorIP; $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $apiResponse = curl_exec($ch); curl_close($ch); $ipInfo = json_decode($apiResponse, true); if(!empty($ipInfo)){ $country_code = $ipInfo['country_code']; $country_name = $ipInfo['country_name']; $region_name = $ipInfo['region_name']; $region_code = $ipInfo['region_code']; $city = $ipInfo['city']; $zip_code = $ipInfo['zip_code']; $latitude = $ipInfo['latitude']; $longitude = $ipInfo['longitude']; $time_zone = $ipInfo['time_zone']; echo 'Country Name: '.$country_name.'<br>'; echo 'Country Code: '.$country_code.'<br>'; echo 'Region Name: '.$region_name.'<br>'; echo 'Region Code: '.$region_code.'<br>'; echo 'City: '.$city.'<br>'; echo 'Zipcode: '.$zip_code.'<br>'; echo 'Latitude: '.$latitude.'<br>'; echo 'Longitude: '.$longitude.'<br>'; echo 'Time Zone: '.$time_zone; }else{ echo 'IP details is not found!'; } ?>

cũng đọc. Nhận tên quốc gia và thành phố bằng địa chỉ IP trong PHP

Vì vậy, trong bài viết này, bạn đã học cách tìm nạp vị trí địa lý trong PHP bằng địa chỉ IP

Nếu bạn thích hướng dẫn này, đừng quên chia sẻ nó trên phương tiện truyền thông xã hội. Nếu bạn có bất kỳ câu hỏi nào, hãy viết trong phần bình luận bên dưới

Ghi chú. Kể từ Chrome 50, API vị trí địa lý sẽ chỉ hoạt động trên các ngữ cảnh bảo mật như HTTPS. Nếu trang web của bạn được lưu trữ trên một nguồn gốc không an toàn (chẳng hạn như HTTP), các yêu cầu lấy vị trí của người dùng sẽ không còn hoạt động

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í của người dùng

Ví dụ

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 getCurrentPosition(). Nếu không, hiển thị thông báo cho người dùng
  • Nếu phương thức getCurrentPosition() thành công, nó sẽ trả về một đối tượng tọa độ cho hàm được chỉ định trong tham số (showPosition)
  • Hàm showPosition() xuất Vĩ độ và Kinh độ

Ví dụ trên là tập lệnh Định vị địa lý rất cơ bản, không 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ý lỗi. Nó chỉ định một chức năng để chạy nếu nó không lấy được vị trí của người dùng

Ví dụ

function showError(error) {
  switch(error. mã) {
    trường hợp lỗi. PERMISSION_DENIED.
      x. innerHTML = "Người dùng đã từ chối yêu cầu Định vị địa lý. "
      hỏng;
    lỗi trường hợp. VỊ TRÍ_KHÔNG CÓ SẴN.
      x. innerHTML = "Không có thông tin vị trí. "
      hỏng;
    lỗi trường hợp. HẾT GIỜ.
      x. innerHTML = "Yêu cầu lấy vị trí người dùng đã hết thời gian chờ. "
      hỏng;
    trường hợp lỗi. LỖI KHÔNG XÁC ĐỊNH.
      x. innerHTML = "Đã xảy ra lỗi không xác định. "
      break;
  }
}

Tự mình thử »

Thông tin cụ thể về vị trí

Trang này đã trình bày cách hiển thị vị trí của người dùng trên bản đồ

Vị trí địa lý cũng rất hữu ích cho thông tin cụ thể về vị trí, như

  • Cập nhật thông tin địa phương
  • Hiển thị Điểm ưa thích gần người dùng
  • Điều hướng từng chặng (GPS)

Phương thức getCurrentPosition() - Trả về dữ liệu

Phương thức getCurrentPosition() trả về một đối tượng khi thành công. Các thuộc tính vĩ độ, kinh độ và độ chính xác luôn được trả về. Các thuộc tính khác được trả lại nếu có

Bất động sảnReturnscoords. vĩ độVĩ độ dưới dạng số thập phân (luôn được trả lại)tọa độ. kinh độ Kinh độ dưới dạng số thập phân (luôn được trả về) tọa độ. độ chính xác Độ chính xác của tọa độ vị trí (luôn được trả lại). độ cao Độ cao tính bằng mét so với mực nước biển trung bình (được trả về nếu có) tọa độ. độ chính xác Độ chính xác độ cao của tọa độ tọa độ (được trả về nếu có). tiêu đề Tiêu đề tính theo độ theo chiều kim đồng hồ từ Bắc (được trả lại nếu có) tọa độ. speedTốc độ tính bằng mét trên giây (được trả về nếu có)dấu thời gianNgày/thời gian trả lời (được trả về nếu có)

Đối tượng định vị địa lý - Các phương pháp thú vị khác

Đối tượng Geolocation còn có các phương thức thú vị khác

  • watchPosition() - Trả về vị trí hiện tại của người dùng và tiếp tục trả về vị trí đã cập nhật khi người dùng di chuyển (như GPS trên ô tô)
  • clearWatch() - Dừng phương thức watchPosition()

Ví dụ dưới đây cho thấy phương pháp watchPosition(). Bạn cần một thiết bị GPS chính xác để kiểm tra điều này (như điện thoại thông minh)

Làm cách nào để có được vị trí địa lý bằng php?

Vị trí địa lý đề cập đến việc xác định vị trí địa lý của người dùng hoặc thiết bị máy tính. .
Gọi API qua yêu cầu HTTP GET bằng cách sử dụng cURL trong PHP
Chuyển đổi phản hồi API JSON thành mảng bằng hàm PHP json_decode()
Truy xuất dữ liệu IP từ phản hồi API

Làm cách nào để có được vị trí địa lý từ địa chỉ IP trong php?

Nhận Vị trí từ Địa chỉ IP bằng PHP . Gọi API qua yêu cầu HTTP GET bằng cách sử dụng cURL trong PHP. Chuyển đổi phản hồi API JSON thành mảng bằng hàm json_decode(). Truy xuất dữ liệu IP từ phản hồi API. Use the IP Geolocation API to get the user's location from IP using PHP. Call API via HTTP GET request using cURL in PHP. Convert API JSON response to array using json_decode() function. Retrieve IP data from API response.

Chủ đề