Jak vytvořit a najít kotvy pomocí hrubého přemísťování ve Swiftu
Azure Spatial Anchors může přidružit data snímačů na zařízení a umísťovat je k ukotvením, které vytvoříte. Tato data můžete také použít k rychlému určení, jestli jsou v blízkosti vašeho zařízení nějaké kotvy. Další informace najdete v tématu Hrubá relokalizace.
Požadavky
Pokud chcete tuto příručku dokončit, ujistěte se, že máte:
- Základní znalost Swiftu.
- Přečtěte si přehled azure Spatial Anchors.
- Dokončili jsme jeden z 5minutových rychlých startů.
- Přečtěte si postup vytvoření a vyhledání ukotvení.
Konfigurace poskytovatele otisků prstů senzoru
Začneme vytvořením a konfigurací poskytovatele otisků prstů senzoru. Poskytovatel otisků prstů se postará o čtení senzorů specifických pro konkrétní platformu na vašem zařízení a o převod jejich čtení na běžnou reprezentaci, kterou využívá relace cloudové prostorové ukotvení.
Důležité
Nezapomeňte zkontrolovat , jestli jsou senzory, které povolíte, dostupné na vaší platformě.
// Create the sensor fingerprint provider
var sensorProvider: ASAPlatformLocationProvider?
sensorProvider = ASAPlatformLocationProvider()
// Allow GPS
let sensors = locationProvider?.sensors
sensors.geoLocationEnabled = true
// Allow WiFi scanning
sensors.wifiEnabled = true
// Populate the set of known BLE beacons' UUIDs
let uuids = [String]()
uuids.append("22e38f1a-c1b3-452b-b5ce-fdb0f39535c1")
uuids.append("a63819b9-8b7b-436d-88ec-ea5d8db2acb0")
// Allow the set of known BLE beacons
sensors.bluetoothEnabled = true
sensors.knownBeaconProximityUuids = uuids
Konfigurace relace cloudového prostorového ukotvení
O konfiguraci relace cloudové prostorové ukotvení se postaráme příště. Na prvním řádku nastavíme poskytovatele senzoru na relaci. Od této chvíle bude každá kotva, která během relace vytvoříme, přidružena k sadě hodnot senzorů. Dále vytvoříme instanci kritéria umístění blízko zařízení a inicializujeme je tak, aby odpovídala požadavkům aplikace. Nakonec dáváme relaci pokyn, aby při hledání ukotvení používala data snímačů tím, že vytvoříme sledovací proces z našich kritérií blízkých zařízení.
// Set the session's sensor fingerprint provider
cloudSpatialAnchorSession!.locationProvider = sensorProvider
// Configure the near-device criteria
let nearDeviceCriteria = ASANearDeviceCriteria()!
nearDeviceCriteria.distanceInMeters = 5.0
nearDeviceCriteria.maxResultCount = 25
// Set the session's locate criteria
let anchorLocateCriteria = ASAAnchorLocateCriteria()!
anchorLocateCriteria.nearDevice = nearDeviceCriteria
cloudSpatialAnchorSession!.createWatcher(anchorLocateCriteria)
Po vytvoření sledovacího AnchorLocated
procesu se událost aktivuje pro každou požadovanou kotvu. Tato událost se aktivuje, když je umístěna kotva nebo pokud kotvu nelze najít. Pokud k této situaci dojde, bude důvod uveden ve stavu. Po zpracování, nalezení nebo nenalezení všech ukotvení sledovacího LocateAnchorsCompleted
procesu se událost aktivuje. Existuje limit 35 identifikátorů na sledovací proces.
Další kroky
V této příručce jste se dozvěděli, jak vytvořit a najít kotvy pomocí senzorů na zařízení. Další informace o hrubé relokalizaci najdete v dalším průvodci.