Geospatial API menggunakan kombinasi VPS dan data GPS untuk menghasilkan transformasi Geospasial dengan akurasi tinggi. API ini bisa digunakan di mana saja saat perangkat dapat menentukan lokasinya:
- Di area dengan akurasi GPS yang rendah, seperti ruang dalam ruangan dan lingkungan perkotaan yang padat, API akan mengandalkan cakupan VPS untuk menghasilkan transformasi akurasi tinggi.
- Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas kepala, Geospatial API mungkin dapat menggunakan data lokasi GPS yang tersedia untuk menghasilkan transformasi Geospatial dengan akurasi tinggi.
Anda dapat menentukan ketersediaan VPS pada posisi horizontal tertentu sebelum sesi AR dimulai dan menggunakannya untuk menciptakan pengalaman yang lebih spesifik — misalnya, untuk menampilkan tombol "Enter AR" hanya jika VPS tersedia.
Mengaktifkan ARCore API
Aplikasi Anda harus mengaktifkan ARCore API untuk memeriksa ketersediaan VPS.
Memeriksa ketersediaan VPS di aplikasi
Geospatial API dapat digunakan di mana saja saat perangkat dapat menentukan lokasinya. Jika pengalaman AR bergantung pada cakupan VPS, Anda dapat menggunakan GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
untuk mendapatkan GARVPSAvailabilityFuture
, tugas asinkron yang memeriksa ketersediaan VPS di posisi horizontal tertentu.
Setelah memiliki GARVPSAvailabilityFuture
, Anda dapat memperoleh hasilnya dengan polling atau melalui callback.
Membuat polling untuk hasil
Gunakan GARFuture.state
untuk mendapatkan status Future
. Ada tiga status yang berbeda:
GARFutureStatePending
: Operasi belum selesai, sehingga tidak ada hasil yang diketahui.GARFutureStateCancelled
: Operasi telah dibatalkan olehGARFuture#cancel
. Setiap callback yang didaftarkan tidak akan pernah dipanggil.GARFutureStateDone
: Operasi selesai. GunakanGARVPSAvailabilityFuture.result
untuk mendapatkan hasil.
Anda dapat terus memeriksa GARFuture.state
hingga tugas selesai.
Mendapatkan hasilnya melalui callback
Anda juga bisa mendapatkan hasil Future
melalui callback. Gunakan GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
dan berikan completionHandler
. completionHandler
ini akan segera dipanggil di Thread utama setelah Future
memiliki status GARFutureStateDone
.
Membatalkan Future
Gunakan GARFuture#cancel
untuk mencoba membatalkan Future
. Karena paralelisme thread, ada kemungkinan bahwa upaya pembatalan Anda tidak benar-benar berhasil.
GARFuture#cancel
akan menampilkan YES
jika upaya ini berhasil, dan NO
jika tidak.
Menggunakan Geospatial API tanpa cakupan VPS
Geospatial API juga dapat digunakan di area yang tidak memiliki cakupan VPS. Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas kepala, GPS mungkin cukup untuk menghasilkan pose dengan akurasi tinggi.
Langkah berikutnya
- Dapatkan pose Geospasial kamera perangkat untuk menentukan lokasi persis perangkat pengguna di dunia nyata.