Kiểm tra khả năng sử dụng VPS tại vị trí hiện tại của thiết bị

API không gian địa lý sử dụng kết hợp dữ liệu VPS và GPS để tạo các phép biến đổi không gian địa lý có độ chính xác cao. API này có thể được sử dụng ở bất kỳ nơi nào mà thiết bị có thể xác định vị trí của nó:

  • Ở những khu vực có độ chính xác GPS thấp, chẳng hạn như không gian trong nhà và môi trường đô thị đông đúc, API sẽ dựa vào phạm vi phủ sóng VPS để tạo các phép biến đổi có độ chính xác cao.
  • Trong môi trường ngoài trời có ít hoặc không có vật cản phía trên, API không gian địa lý có thể sử dụng dữ liệu vị trí GPS hiện có để tạo các phép biến đổi không gian địa lý với độ chính xác cao.

Bạn có thể xác định khả năng sử dụng VPS ở một vị trí ngang nhất định trước khi phiên AR bắt đầu và sử dụng thông tin này để tạo trải nghiệm cụ thể hơn, chẳng hạn như chỉ hiển thị nút "Enter AR" (Bắt đầu AR) khi có VPS.

Bật API ARCore

Ứng dụng của bạn phải bật ARCore API để kiểm tra khả năng sử dụng VPS.

Kiểm tra xem VPS có được cung cấp trong ứng dụng của bạn hay không

Bạn có thể sử dụng API không gian địa lý ở bất kỳ nơi nào mà thiết bị có thể xác định vị trí của nó. Nếu trải nghiệm AR của bạn phụ thuộc vào phạm vi phủ sóng của VPS, bạn có thể sử dụng GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: để lấy GARVPSAvailabilityFuture, một tác vụ không đồng bộ kiểm tra khả năng sử dụng VPS ở một vị trí ngang nhất định. Sau khi có GARVPSAvailabilityFuture, bạn có thể lấy kết quả của GARVPSAvailabilityFuture bằng cách thăm dò ý kiến hoặc thông qua lệnh gọi lại.

Thăm dò kết quả

Sử dụng GARFuture.state để lấy trạng thái của Future. Có 3 trạng thái:

  • GARFutureStatePending: Thao tác chưa hoàn tất nên chưa có kết quả.
  • GARFutureStateCancelled: Thao tác đã bị GARFuture#cancel huỷ. Mọi lệnh gọi lại đã đăng ký sẽ không bao giờ được gọi.
  • GARFutureStateDone: Thao tác đã hoàn tất. Sử dụng GARVPSAvailabilityFuture.result để nhận kết quả.

Bạn có thể tiếp tục kiểm tra GARFuture.state cho đến khi tác vụ hoàn tất.

Nhận kết quả thông qua lệnh gọi lại

Bạn cũng có thể lấy kết quả của Future thông qua lệnh gọi lại. Sử dụng GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: và cung cấp completionHandler. completionHandler này sẽ được gọi trên luồng chính ngay sau khi Future có trạng thái GARFutureStateDone.

Huỷ Future

Sử dụng GARFuture#cancel để cố gắng huỷ Future. Do tính năng song song của luồng, có thể thao tác huỷ của bạn không thực sự thành công. GARFuture#cancel trả về YES nếu thử nghiệm này thành công và NO nếu không.

Sử dụng API không gian địa lý mà không cần phạm vi cung cấp dịch vụ VPS

Bạn cũng có thể sử dụng API không gian địa lý ở những khu vực không có phạm vi cung cấp VPS. Trong môi trường ngoài trời có ít hoặc không có vật cản phía trên, GPS có thể đủ để tạo ra một tư thế có độ chính xác cao.

Bước tiếp theo