Periksa ketersediaan VPS di lokasi perangkat saat ini
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Geospatial API menggunakan kombinasi data VPS dan GPS untuk menghasilkan pose Geospasial dengan akurasi tinggi. API ini dapat digunakan di mana saja perangkat dapat menentukan lokasinya:
- Di area dengan akurasi GPS rendah, seperti ruang dalam ruangan dan lingkungan perkotaan yang padat, API akan mengandalkan cakupan VPS untuk menghasilkan pose dengan akurasi tinggi.
- Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas, Geospatial API mungkin dapat menggunakan data lokasi GPS yang tersedia untuk menghasilkan pose Geospasial dengan akurasi tinggi.
Anda dapat menentukan ketersediaan VPS pada posisi horizontal tertentu sebelum sesi AR dimulai dan menggunakannya untuk membuat 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 Anda
Geospatial API dapat digunakan di mana saja perangkat dapat menentukan lokasinya. Jika pengalaman AR Anda bergantung pada cakupan VPS, Anda dapat menggunakan AREarthManager.CheckVpsAvailabilityAsync()
untuk mendapatkan VpsAvailabilityPromise
, tugas asinkron yang memeriksa ketersediaan VPS pada posisi horizontal tertentu.
Setelah memiliki VpsAvailabilityPromise
, Anda dapat memperoleh hasilnya dengan polling.
Mengambil polling hasil
Gunakan VpsAvailabilityPromise.State
untuk mendapatkan status InterruptiblePromise
. Ada tiga status yang berbeda:
Anda dapat terus memeriksa VpsAvailabilityPromise.State
hingga tugas selesai.
Membatalkan InterruptiblePromise
Gunakan VpsAvailabilityPromise.Cancel()
untuk mencoba membatalkan InterruptiblePromise
. Karena paralelisme thread, mungkin upaya pembatalan Anda tidak benar-benar berhasil.
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, GPS mungkin cukup untuk menghasilkan pose dengan akurasi tinggi.
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-14 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-14 UTC."],[[["\u003cp\u003eThe Geospatial API leverages VPS and GPS data to create highly accurate location anchors, enabling augmented reality experiences in diverse environments.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can check VPS availability before an AR session begins, optimizing user experience by prompting interactions only when VPS is available.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAREarthManager.CheckVpsAvailabilityAsync()\u003c/code\u003e allows developers to determine VPS availability at a specific location, which can be polled for its status and potentially cancelled.\u003c/p\u003e\n"],["\u003cp\u003eEven without VPS coverage, the Geospatial API can utilize GPS data in outdoor settings with clear skies to achieve accurate pose estimation.\u003c/p\u003e\n"],["\u003cp\u003eAfter confirming VPS availability or GPS suitability, developers can proceed to obtain the device's Geospatial pose, anchoring AR content to real-world locations.\u003c/p\u003e\n"]]],[],null,["# Check VPS availability at the device's current location\n\n\u003cbr /\u003e\n\nThe Geospatial API uses a combination of [VPS](/ar/develop/geospatial#global_localization_with_vps) and GPS data to generate high-accuracy Geospatial poses. The API can be used in any place where the device is able to determine its location:\n\n- In areas with low GPS accuracy, such as indoor spaces and dense urban environments, the API will rely on VPS coverage to generate high-accuracy poses.\n- In outdoor environments with few or no overhead obstructions, the Geospatial API may be able to use available GPS location data to generate Geospatial poses with high accuracy.\n\nYou can determine VPS availability at a given horizontal position before the AR session starts and use it to create more specific experiences --- for example, to present an \"Enter AR\" button only when VPS is available.\n\nEnable the ARCore API\n---------------------\n\nYour app must enable the [ARCore API](/ar/develop/unity-arf/geospatial/enable#enable_the_arcore_api) to check VPS availability.\n\nCheck VPS availability in your app\n----------------------------------\n\nThe Geospatial API can be used in any place where the device is able to determine its location. If your AR experience hinges on VPS coverage, you can use [`AREarthManager.CheckVpsAvailabilityAsync()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#checkvpsavailabilityasync) to obtain a [`VpsAvailabilityPromise`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise), an asynchronous task that checks the VPS availability at a given horizontal position.\n\nOnce you have the [`VpsAvailabilityPromise`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise), you can obtain its result by polling.\n\n\n### Poll the result\n\nUse [`VpsAvailabilityPromise.State`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#state) to obtain the state of the `InterruptiblePromise`. There are three different states:\n\n- [`Pending`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation is not yet complete, so no result is known.\n- [`Cancelled`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation has been cancelled by [`VpsAvailabilityPromise.Cancel()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#cancel). Any registered callback will never be called.\n- [`Done`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation is complete. Use [`VpsAvailabilityPromise.Result`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#result) to obtain the result.\n\nYou may continue checking [`VpsAvailabilityPromise.State`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#state) until the task is complete.\n\nCancel the `InterruptiblePromise`\n---------------------------------\n\nUse [`VpsAvailabilityPromise.Cancel()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#cancel) to attempt to cancel the `InterruptiblePromise`. Due to thread parallelism, it may be possible that your cancel attempt does not actually succeed.\n\n\nUse the Geospatial API without VPS coverage\n-------------------------------------------\n\nThe Geospatial API can also be used in areas that do not have VPS coverage. In outdoor environments with few or no overhead obstructions, GPS may be sufficient to generate a pose with high accuracy.\n\nWhat's next\n-----------\n\n- [Obtain the device camera's Geospatial pose](/ar/develop/unity-arf/geospatial/obtain-device-pose) to determine the exact location of the user's device in the real world."]]