API Không gian địa lý sử dụng kết hợp VPS và dữ liệu GPS để tạo ra các biến đổi Không gian địa lý có độ chính xác cao. Bạn có thể sử dụng API này ở bất cứ nơi nào thiết bị có thể xác định vị trí của mình:
- Trong các khu vực có độ chính xác thấp của GPS, 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 ra các 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 trên cao, API Không gian địa lý có thể sử dụng dữ liệu vị trí GPS có sẵn để tạo ra các biến đổi Không gian địa lý với độ chính xác cao.
Bạn có thể xác định tính sẵn có của VPS tại một vị trí ngang nhất định trước khi phiên AR bắt đầu và sử dụng nó để tạo trải nghiệm cụ thể hơn — ví dụ: để hiển thị nút "Enter AR" chỉ khi VPS có sẵn.
Bật API ARCore
Ứng dụng của bạn phải bật API ARCore để kiểm tra tính sẵn có của VPS.
Kiểm tra tính sẵn có của VPS trong ứng dụng của bạn
API Không gian địa lý có thể được dùng ở bất kỳ nơi nào thiết bị có thể xác định vị trí của mình. Nếu trải nghiệm AR phụ thuộc vào mức độ sử dụng VPS, bạn có thể sử dụng GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
để lấy GARVPSAvailabilityFuture
. Đây là một tác vụ không đồng bộ kiểm tra tính sẵn có của VPS tại một vị trí ngang nhất định.
Sau khi có GARVPSAvailabilityFuture
, bạn có thể nhận kết quả của lớp này bằng cách thăm dò ý kiến hoặc thông qua một 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 này chưa hoàn tất nên chưa có kết quả nào.GARFutureStateCancelled
:GARFuture#cancel
đã huỷ thao tác này. Mọi lệnh gọi lại đã đăng ký sẽ không bao giờ được gọi.GARFutureStateDone
: Hoạt động đã hoàn tất. Sử dụngGARVPSAvailabilityFuture.result
để nhận kết quả.
Bạn có thể tiếp tục kiểm tra GARFuture.state
cho đến khi việc cần làm hoàn tất.
Nhận kết quả thông qua lệnh gọi lại
Bạn cũng có thể nhận 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
để thử huỷ Future
. Do tính năng song song của chuỗi, có thể yêu cầu huỷ của bạn không thực sự thành công.
GARFuture#cancel
sẽ trả về YES
nếu lần thử này thành công và trả về NO
nếu không thành công.
Sử dụng API Không gian địa lý mà không cần áp dụng VPS
API Không gian địa lý cũng có thể được dùng trong những khu vực không có VPS. Trong môi trường ngoài trời có ít hoặc không có vật cản trên cao, GPS có thể đủ để tạo tư thế với độ chính xác cao.
Các bước tiếp theo
- Lấy tư thế Không gian địa lý của máy ảnh thiết bị để xác định vị trí chính xác cho thiết bị của người dùng trong thế giới thực.