From eca1b0e42c5f808f73c7f70009a77f64e14f9060 Mon Sep 17 00:00:00 2001 From: imalcolm Date: Mon, 6 Apr 2026 17:27:53 -0700 Subject: [PATCH 1/3] Update readme and readme.metadata --- .../Samples/Location/IndoorPositioning/readme.md | 12 +++++------- .../Location/IndoorPositioning/readme.metadata.json | 4 +--- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md index bc2827f8ec..a33138fbe7 100644 --- a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md +++ b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md @@ -10,14 +10,14 @@ An indoor positioning system (IPS) allows you to locate yourself and others insi ## How to use the sample -When the device is within range of an IPS beacon, toggle "Show Location" to change the visibility of the location indicator in the map view. The system will ask for permission to use the device's location if the user has not yet used location services in this app. It will then start the location display with auto-pan mode set to `Navigation`. +When the device is within range of an IPS beacon, toggle "Show Location" to change the visibility of the location indicator in the map view. The system will ask for permission to use the device's location if the user has not yet used location services in this app. It will then start the location display with auto-pan mode set to `navigation`. When there is no IPS beacons nearby, or other errors occur while initializing the indoors location data source, it will seamlessly fall back to the current device location as determined by GPS. ## How it works 1. Load an IPS-aware map. This can be a web map hosted as a portal item in ArcGIS Online, an Enterprise Portal, or a mobile map package (.mmpk) created with ArcGIS Pro. -2. Create and load an `IndoorsLocationDataSource` (stored with the map), then create an `IndoorsLocationDataSource` from it. +2. Create and load an `IndoorPositioningDefinition` (stored with IPS-aware maps), then create an `IndoorsLocationDataSource` from it. 3. Handle location change events to respond to floor changes or read other metadata for locations. 4. Assign the `IndoorsLocationDataSource` to the map view's location display. 5. Enable and disable the map view's location display using `StartAsync()` and `StopAsync()`. Device location will appear on the display as a blue dot and update as the user moves throughout the space. @@ -25,11 +25,9 @@ When there is no IPS beacons nearby, or other errors occur while initializing th ## Relevant API -* ArcGISFeatureTable -* FeatureTable * IndoorPositioningDefinition * IndoorsLocationDataSource -* Location +* LocationChangeHandlerDelegate * LocationDisplay * LocationDisplayAutoPanMode * Map @@ -37,7 +35,7 @@ When there is no IPS beacons nearby, or other errors occur while initializing th ## About the data -This sample uses an [IPS-enabled web map](https://www.arcgis.com/home/item.html?id=8fa941613b4b4b2b8a34ad4cdc3e4bba) that displays Building L on the Esri Redlands campus. Please note: you would only be able to use the indoor positioning functionalities when you are inside this building. Swap the web map to test with your own IPS setup. +This sample uses an [IPS-enabled web map](https://www.arcgis.com/home/item.html?id=8fa941613b4b4b2b8a34ad4cdc3e4bba) that displays Building M on the Esri Redlands campus. Please note: you would only be able to use the indoor positioning functionalities when you are inside this building. Swap the web map to test with your own IPS setup. ## Additional information @@ -47,4 +45,4 @@ This sample uses an [IPS-enabled web map](https://www.arcgis.com/home/item.html? ## Tags -beacon, BLE, blue dot, Bluetooth, building, facility, GPS, indoor, IPS, location, map, mobile, navigation, site, transmitter +beacon, BLE, blue dot, Bluetooth, building, facility, GPS, indoor, IPS, location, map, mobile, navigation, site, transmitter \ No newline at end of file diff --git a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json index fcabfed012..7f4b3acb35 100644 --- a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json +++ b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json @@ -28,11 +28,9 @@ "/net/latest/maui/sample-code/show-device-location-using-indoor-positioning.htm" ], "relevant_apis": [ - "ArcGISFeatureTable", - "FeatureTable", "IndoorPositioningDefinition", "IndoorsLocationDataSource", - "Location", + "LocationChangeHandlerDelegate", "LocationDisplay", "LocationDisplayAutoPanMode", "Map", From 63a03fee1b6cffb5487d9e57f148c4843a1141af Mon Sep 17 00:00:00 2001 From: imalcolm Date: Mon, 6 Apr 2026 17:37:50 -0700 Subject: [PATCH 2/3] Updated map --- .../Location/IndoorPositioning/IndoorPositioning.xaml.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/IndoorPositioning.xaml.cs b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/IndoorPositioning.xaml.cs index cc699c058c..2b3e75de94 100644 --- a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/IndoorPositioning.xaml.cs +++ b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/IndoorPositioning.xaml.cs @@ -30,13 +30,12 @@ public partial class IndoorPositioning : ContentPage, IDisposable private int? _currentFloor = null; - // Provide your own data in order to use this sample. Code in the sample may need to be modified to work with other maps. - + // Provide your own data in order to use this sample in a local building #region BuildingData private Uri _portalUri = new Uri("https://www.arcgis.com/"); - private const string ItemId = "YOUR_ITEM_ID_HERE"; + private const string ItemId = "8fa941613b4b4b2b8a34ad4cdc3e4bba"; private string[] _layerNames = new string[] { "Details", "Units", "Levels" }; From 1489af4df3f61dd84301409919fcd8c7473ba7df Mon Sep 17 00:00:00 2001 From: imalcolm Date: Mon, 6 Apr 2026 17:43:52 -0700 Subject: [PATCH 3/3] Revert some bad changes --- .../Samples/Location/IndoorPositioning/readme.md | 6 +++--- .../Samples/Location/IndoorPositioning/readme.metadata.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md index a33138fbe7..9dd1397ced 100644 --- a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md +++ b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.md @@ -10,7 +10,7 @@ An indoor positioning system (IPS) allows you to locate yourself and others insi ## How to use the sample -When the device is within range of an IPS beacon, toggle "Show Location" to change the visibility of the location indicator in the map view. The system will ask for permission to use the device's location if the user has not yet used location services in this app. It will then start the location display with auto-pan mode set to `navigation`. +When the device is within range of an IPS beacon, toggle "Show Location" to change the visibility of the location indicator in the map view. The system will ask for permission to use the device's location if the user has not yet used location services in this app. It will then start the location display with auto-pan mode set to `Navigation`. When there is no IPS beacons nearby, or other errors occur while initializing the indoors location data source, it will seamlessly fall back to the current device location as determined by GPS. @@ -27,7 +27,7 @@ When there is no IPS beacons nearby, or other errors occur while initializing th * IndoorPositioningDefinition * IndoorsLocationDataSource -* LocationChangeHandlerDelegate +* Location * LocationDisplay * LocationDisplayAutoPanMode * Map @@ -45,4 +45,4 @@ This sample uses an [IPS-enabled web map](https://www.arcgis.com/home/item.html? ## Tags -beacon, BLE, blue dot, Bluetooth, building, facility, GPS, indoor, IPS, location, map, mobile, navigation, site, transmitter \ No newline at end of file +beacon, BLE, blue dot, Bluetooth, building, facility, GPS, indoor, IPS, location, map, mobile, navigation, site, transmitter diff --git a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json index 7f4b3acb35..f4ff0ce836 100644 --- a/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json +++ b/src/MAUI/Maui.Samples/Samples/Location/IndoorPositioning/readme.metadata.json @@ -30,7 +30,7 @@ "relevant_apis": [ "IndoorPositioningDefinition", "IndoorsLocationDataSource", - "LocationChangeHandlerDelegate", + "Location", "LocationDisplay", "LocationDisplayAutoPanMode", "Map",