Searching on a Map

Use the MPMapsIndoors.shared.locationsWith(query:filter:)arrow-up-right method to search for content in your MapsIndoors Solution.

Setup a query for the nearest single best matching Location and display the result on the maparrow-up-right

let filter = MPFilter()
let query = MPQuery()
query.query = "Office"
query.near = MPPoint(lat: 57.057964, lon: 9.9504112)
query.take = 1

let locations = await MPMapsIndoors.shared.locationsWith(query: query, filter: filter)
if let location = locations?.first {
    self.mapControl?.goTo(entity: location)
}

Setup a query for a group of Locations and display the result on the maparrow-up-right

let filter = MPFilter()
let query = MPQuery()
query.categories = ["Office"]
query.max = 50

let locations = await MPMapsIndoors.shared.locationsWith(query: query, filter: filter)
self.mapControl?.setFilter(locations: locations, behavior: .default)
if let location = locations?.first {
    self.mapControl?.currentFloor = location.floor
}

Please note that you are not guaranteed that the visible floor contains any search results, so that is why we change floor in the above example.

Last updated

Was this helpful?