Horgonyok létrehozása és megkeresése durva áthelyezéssel a C++/NDK-ban

Az Azure Spatial Anchors társíthatja az eszközön lévő adatokat, és elhelyezheti az érzékelőadatokat a létrehozott horgonyokkal. Ezekkel az adatokkal gyorsan megállapíthatja, hogy vannak-e horgonyok az eszköz közelében. További információ: Durva áthelyezés.

Előfeltételek

Az útmutató elvégzéséhez győződjön meg arról, hogy rendelkezik a következővel:

Az érzékelő ujjlenyomat-szolgáltatójának konfigurálása

Először létrehozunk és konfigurálunk egy érzékelő ujjlenyomat-szolgáltatót. Az érzékelő ujjlenyomat-szolgáltatója gondoskodik az eszköz platformspecifikus érzékelőinek beolvasásáról, és az adatok a felhőbeli térbeli horgonyzási munkamenet által használt közös ábrázolássá alakításával.

Fontos

Ellenőrizze itt, hogy az ön által engedélyezendő érzékelők elérhetők-e a platformon.

// Create the sensor fingerprint provider
std::shared_ptr<PlatformLocationProvider> sensorProvider;
sensorProvider = std::make_shared<PlatformLocationProvider>();

// Allow GPS
const std::shared_ptr<SensorCapabilities>& sensors = sensorProvider->Sensors();
sensors->GeoLocationEnabled(true);

// Allow WiFi scanning
sensors->WifiEnabled(true);

// Populate the set of known BLE beacons' UUIDs
std::vector<std::string> uuids;
uuids.push_back("22e38f1a-c1b3-452b-b5ce-fdb0f39535c1");
uuids.push_back("a63819b9-8b7b-436d-88ec-ea5d8db2acb0");

// Allow the set of known BLE beacons
sensors->BluetoothEnabled(true);
sensors->KnownBeaconProximityUuids(uuids);

A felhőbeli térbeli horgony munkamenetének konfigurálása

A következő lépésben a felhőbeli térbeli horgony-munkamenet konfigurálásáról lesz szó. Az első sorban beállítjuk az érzékelő szolgáltatót a munkamenetben. Ettől kezdve a munkamenet során létrehozott horgonyok érzékelőolvasások készletéhez lesznek társítva. Ezután létrehozunk egy közel-eszköz keresési feltételt, és inicializáljuk az alkalmazás követelményeinek megfelelően. Végül arra utasítjuk a munkamenetet, hogy használjon érzékelőadatokat a horgonyok keresésekor úgy, hogy létrehozunk egy figyelőt az eszközhöz közeli feltételekből.

// Set the session's sensor fingerprint provider
cloudSpatialAnchorSession->LocationProvider(sensorProvider);

// Configure the near-device criteria
auto nearDeviceCriteria = std::make_shared<NearDeviceCriteria>();
nearDeviceCriteria->DistanceInMeters(5.0f);
nearDeviceCriteria->MaxResultCount(25);

// Set the session's locate criteria
auto anchorLocateCriteria = std::make_shared<AnchorLocateCriteria>();
anchorLocateCriteria->NearDevice(nearDeviceCriteria);
cloudSpatialAnchorSession->CreateWatcher(anchorLocateCriteria);

A figyelő létrehozása után az esemény minden AnchorLocated kért horgony esetében aktiválódik. Ez az esemény akkor aktiválódik, ha egy horgony található, vagy ha a horgony nem található. Ha ez a helyzet bekövetkezik, az ok az állapotban lesz feltüntetve. Miután a figyelő összes horgonyát feldolgozta, megtalálta vagy nem találta, az LocateAnchorsCompleted esemény aktiválódik. Figyelőnként legfeljebb 35 azonosító lehet.

Következő lépések

Ebben az útmutatóban megismerkedett azzal, hogyan hozhat létre és kereshet horgonyokat eszközérzékelők használatával. Ha többet szeretne megtudni a durva áthelyezésről, folytassa a következő útmutatóval.