Aracılığıyla paylaş


C++/WinRT'de kaba yeniden konumlandırmayı kullanarak yer işaretleri oluşturma ve bulma

Azure Spatial Anchors, cihaz içi verileri ilişkilendirebilir ve sensör verilerini oluşturduğunuz yer işaretleri ile konumlandırabilir. Bu veriler, cihazınızın yakınında yer işareti olup olmadığını hızla belirlemek için de kullanılabilir. Daha fazla bilgi için bkz. Kaba yeniden konumlandırma.

Önkoşullar

Bu kılavuzu tamamlamak için aşağıdakilere sahip olduğunuzdan emin olun:

Algılayıcı parmak izi sağlayıcısını yapılandırma

Bir algılayıcı parmak izi sağlayıcısı oluşturup yapılandırarak başlayacağız. Algılayıcı parmak izi sağlayıcısı, cihazınızdaki platforma özgü algılayıcıları okuma ve okumalarını bulut uzamsal yer işareti oturumu tarafından kullanılan ortak bir temsile dönüştürme işlemlerini üstlenir.

Önemli

Etkinleştirdiğiniz algılayıcıların platformunuzda mevcut olup olmadığını buradan kontrol edin.

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

// Allow GPS
SensorCapabilities sensors = sensorProvider.Sensors()
sensors.GeoLocationEnabled(true);

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

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

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

Bulut uzamsal yer işareti oturumunu yapılandırma

Bir sonraki adımda bulut uzamsal yer işareti oturumunu yapılandırma işlemini gerçekleştireceğiz. İlk satırda oturumda algılayıcı sağlayıcısını ayarlayacağız. Bundan sonra oturum sırasında oluşturduğumuz tüm tutturucular bir dizi algılayıcı okumasıyla ilişkilendirilecek. Ardından, yakın cihaz bulma ölçütlerinin örneğini oluşturacak ve uygulama gereksinimlerini karşılayacak şekilde başlatacağız. Son olarak, yakın cihaz ölçütlerimizden bir izleyici oluşturarak oturuma yer işaretleri bulunurken algılayıcı verilerini kullanma talimatını verdik.

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

// Configure the near-device criteria
NearDeviceCriteria nearDeviceCriteria = NearDeviceCriteria();
nearDeviceCriteria.DistanceInMeters(5.0f);
nearDeviceCriteria.MaxResultCount(25);

// Set the session's locate criteria
anchorLocateCriteria = AnchorLocateCriteria();
anchorLocateCriteria.NearDevice(nearDeviceCriteria);
cloudSpatialAnchorSession.CreateWatcher(anchorLocateCriteria);

İzleyiciniz oluşturulduktan sonra olay, AnchorLocated istenen her yer işareti için tetiklenir. Bu olay, bir yer işareti bulunduğunda veya yer işareti bulunamazsa tetikler. Bu durum gerçekleşirse, nedeni durum olarak belirtilir. bir izleyicinin tüm yer işaretleri işlendikten, bulunduktan veya bulunamadıktan sonra LocateAnchorsCompleted olay tetiklenir. İzleyici başına 35 tanımlayıcı sınırı vardır.

Sonraki adımlar

Bu kılavuzda, cihaz içi algılayıcıları kullanarak yer işaretleri oluşturmayı ve bulmayı öğrendiniz. Kaba yeniden konumlandırma hakkında daha fazla bilgi edinmek için sonraki kılavuza geçin.