Share via


Java'da kaba yeniden konumlandırmayı kullanarak yer işaretleri oluşturma ve bulma

Azure Spatial Anchors, sensör verilerini oluşturduğunuz yer işaretleri ile konumlandırarak cihaz üzerinde ilişkilendirebilir. 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

İlk olarak algılayıcı parmak izi sağlayıcısı oluşturup yapılandıracağız. Algılayıcı parmak izi sağlayıcısı, cihazınızdaki platforma özgü algılayıcıları okumayı ve okumalarını bulut uzamsal yer işareti oturumu tarafından kullanılan ortak bir temsile dönüştürmeyi üstlenir.

Önemli

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

// 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);

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

Bundan sonra bulut uzamsal yer işareti oturumunu yapılandıracağız. İ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.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);

İzleyiciniz oluşturulduktan sonra olay istenen AnchorLocated her yer işareti için tetiklenir. Bu olay, bir yer işareti bulunduğunda veya yer işareti bulunamazsa tetikler. Bu durum ortaya çıkarsa, nedeni durum olarak belirtilir. İzleyicinin 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.