Bagikan melalui


Cara membuat dan menemukan jangkar menggunakan relokasi kasar di Java

Azure Spatial Anchors dapat mengaitkan data sensor di perangkat, memosisikan data sensor dengan jangkar yang Anda buat. Data ini juga dapat digunakan untuk menentukan dengan cepat apakah ada jangkar di dekat perangkat Anda. Untuk informasi selengkapnya, lihat Relokasi kasar.

Prasyarat

Untuk menyelesaikan panduan ini, pastikan Anda telah:

Mengonfigurasi penyedia sidik jari sensor

Kita akan mulai dengan membuat dan mengonfigurasi penyedia sidik jari sensor. Penyedia sidik jari sensor akan mengurus membaca sensor khusus platform di perangkat Anda dan mengubah pembacaannya menjadi representasi umum yang digunakan oleh sesi jangkar spasial cloud.

Penting

Pastikan untuk memeriksa di sini jika sensor yang aktif tersedia di platform Anda.

// Create the sensor fingerprint provider
PlatformLocationProvider sensorProvider = new PlatformLocationProvider();

// Allow GPS
SensorCapabilities sensors = sensorProvider.getSensors();
sensors.setGeoLocationEnabled(true);

// Allow WiFi scanning
sensors.setWifiEnabled(true);

// Populate the set of known BLE beacons' UUIDs
String uuids[] = new String[2];
uuids[0] = "22e38f1a-c1b3-452b-b5ce-fdb0f39535c1";
uuids[1] = "a63819b9-8b7b-436d-88ec-ea5d8db2acb0";

// Allow the set of known BLE beacons
sensors.setBluetoothEnabled(true);
sensors.setKnownBeaconProximityUuids(uuids);

Mengonfigurasi sesi jangkar spasial cloud

Kami akan mengurus konfigurasi sesi jangkar spasial cloud berikutnya. Pada baris pertama, kami mengatur penyedia sensor pada sesi. Mulai sekarang, segala jangkar yang kami buat selama sesi akan dikaitkan dengan serangkaian pembacaan sensor. Selanjutnya, kami membuat instans kriteria lokasi perangkat dekat dan menginisialisasinya agar sesuai dengan persyaratan aplikasi. Akhirnya, kami mengarahkan sesi untuk menggunakan data sensor saat menemukan jangkar dengan membuat pengawas dari kriteria perangkat dekat kami.

// Set the session's sensor fingerprint provider
cloudSpatialAnchorSession.setLocationProvider(sensorProvider);

// Configure the near-device criteria
NearDeviceCriteria nearDeviceCriteria = new NearDeviceCriteria();
nearDeviceCriteria.setDistanceInMeters(5.0f);
nearDeviceCriteria.setMaxResultCount(25);

// Set the session's locate criteria
AnchorLocateCriteria anchorLocateCriteria = new AnchorLocateCriteria();
anchorLocateCriteria.setNearDevice(nearDeviceCriteria);
cloudSpatialAnchorSession.createWatcher(anchorLocateCriteria);

Setelah watcher Anda dibuat, acara akan AnchorLocated menembak untuk setiap jangkar yang diminta. Peristiwa ini terjadi ketika jangkar berada, atau jika jangkar tidak dapat ditemukan. Jika situasi ini terjadi, alasannya akan dinyatakan dalam status tersebut. Setelah semua jangkar untuk pengamat diproses, ditemukan atau tidak ditemukan, maka peristiwa LocateAnchorsCompleted itu akan menembak. Ada batas 35 pengidentifikasi per pengamat.

Langkah berikutnya

Dalam panduan ini, Anda belajar tentang cara membuat dan menemukan jangkar menggunakan sensor di perangkat. Untuk mempelajari lebih lanjut tentang relokasi kasar, lanjut ke panduan berikutnya.