Định cấu hình chế độ cài đặt của ứng dụng để ứng dụng có thể sử dụng API không gian địa lý.
Điều kiện tiên quyết
Hãy đảm bảo rằng bạn hiểu các khái niệm cơ bản về AR và cách định cấu hình phiên ARCore trước khi tiếp tục.
Nếu bạn muốn chạy một ứng dụng mẫu minh hoạ chức năng được mô tả ở đây, hãy xem phần Bắt đầu nhanh không gian địa lý ARCore dành cho iOS.
Hãy xem phần Giới thiệu về API không gian địa lý để biết thêm thông tin về API không gian địa lý.
Nếu bạn mới bắt đầu phát triển bằng ARCore, hãy xem phần Bắt đầu để biết thông tin về các yêu cầu phần cứng và phần mềm, điều kiện tiên quyết và các thông tin khác dành riêng cho các nền tảng mà bạn đang sử dụng.
Bật API ARCore
Trước khi sử dụng Hệ thống định vị bằng hình ảnh (VPS) trong ứng dụng, trước tiên, bạn phải bật ARCore API trong một dự án Google Cloud mới hoặc hiện có. Dịch vụ này chịu trách nhiệm lưu trữ, lưu trữ và phân giải neo không gian địa lý.
Bạn nên sử dụng phương thức uỷ quyền không cần khoá, nhưng phương thức uỷ quyền bằng Khoá API cũng được hỗ trợ.
Thêm thư viện bắt buộc vào ứng dụng
Sau khi uỷ quyền cho ứng dụng gọi API ARCore, bạn phải thêm thư viện để bật các tính năng Địa không gian trong ứng dụng.
Cập nhậtPodfile
cho ứng dụng của bạn để bao gồm SDK ARCore và các phiên bản iOS được hỗ trợ. Để thực hiện việc này:
Thêm
platform
vàpod
sau vàoPodfile
của dự án:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.46.0'
Bạn cũng có thể chỉ định
platform :ios, '10.0'
nếu muốn hỗ trợ iOS 10, nhưng lưu ý rằng API Không gian địa lý sẽ chỉ hoạt động trong thời gian chạy trên iOS >= 11.Mở cửa sổ Dòng lệnh và chạy
pod install
từ thư mục chứa dự án Xcode của bạn.Thao tác này sẽ tạo một tệp
.xcworkspace
mà bạn dùng để tạo và chạy ứng dụng.
Đảm bảo môi trường phát triển của bạn đáp ứng các yêu cầu về SDK ARCore, như mô tả trong phần Bắt đầu nhanh.
Bật các tính năng không gian địa lý trong cấu hình phiên
Kiểm tra khả năng tương thích của thiết bị
Không phải thiết bị nào hỗ trợ ARCore cũng hỗ trợ API không gian địa lý, như mô tả trong phần bắt đầu nhanh.
Sử dụng GARSession.isGeospatialModeSupported:
để kiểm tra thiết bị, như sau:
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
Yêu cầu người dùng cấp quyền truy cập thông tin vị trí trong thời gian chạy
Ứng dụng của bạn phải yêu cầu các quyền truy cập thông tin vị trí sau đây trong thời gian chạy, trước khi định cấu hình phiên:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(Áp dụng khi iOS >= 14)
Kiểm tra tính khả dụng không gian địa lý tại vị trí hiện tại của thiết bị
Vì API không gian địa lý sử dụng kết hợp VPS và GPS để xác định phép biến đổi không gian địa lý, nên bạn có thể sử dụng API này miễn là 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 điều kiện thông thường, máy chủ ảo có thể được cung cấp độ chính xác về vị trí khoảng 5 mét và độ chính xác quay là 5 độ. Sử dụng GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
để xác định xem một vị trí cụ thể có phạm vi phủ sóng của VPS hay không.
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 trên đầu, GPS có thể đủ để tạo ra sự biến đổi với độ chính xác cao.
Bước tiếp theo
- Nhận dữ liệu biến đổi không gian địa lý của máy ảnh của thiết bị để xác định vị trí chính xác thiết bị của người dùng trong thế giới thực.
- Kiểm tra xem VPS có sẵn hay không tại một vị trí nhất định của thiết bị.