Location Details
This is an example of displaying some details of a MapsIndoors location.
Start by creating a UIViewController class that conforms to the MPMapControlDelegate protocol
class LocationDetailsController: UIViewController, MPMapControlDelegate {Add a MPMapControl to the class
var mapControl: MPMapControl?Add other views needed for this example
var detailsView = UIStackView()
var mainView = UIStackView()
var nameLabel = UILabel()
var descrLabel = UILabel()Inside viewDidLoad, setup the label views
mapControl?.delegate = self
nameLabel.backgroundColor = UIColor.white
descrLabel.backgroundColor = UIColor.whiteArrange the labels inside a stackview
detailsView = UIStackView(arrangedSubviews: [nameLabel, descrLabel])
detailsView.axis = .verticalArrange the map and the stackview inside another stackview
mainView = UIStackView(arrangedSubviews: [map!, detailsView])
mainView.axis = .verticalWhen marker is tapped, get related MapsIndoors location object and set label text, based on the name and description of the location
func didTapInfoWindow(location: MPLocation) -> Bool {
self.nameLabel.text = location.name
self.descrLabel.text = location.descr
return false
}When map is tapped, reset label text
func didTap(coordinate: MPPoint) -> Bool {
self.nameLabel.text = nil
self.descrLabel.text = nil
return false
}Last updated
Was this helpful?