Location Details

This is an example of displaying some details of a MapsIndoors location

Start by creating a UIViewController class that conforms to the GMSMapViewDelegate protocol

class LocationDetailsController: UIViewController, GMSMapViewDelegate {

Add a GMSMapView and a MPMapControl to the class

var map: GMSMapView? = nil
var mapControl: MPMapControl? = nil

Add other views needed for this example

var detailsView = UIStackView()
var mainView = UIStackView()
var nameLabel = UILabel()
var descrLabel = UILabel()

Inside viewDidLoad, setup the map and the mapControl instance:

self.map = GMSMapView(frame: CGRect.zero)
self.map?.delegate = self
self.map?.camera = .camera(withLatitude: 57.057964, longitude: 9.9504112, zoom: 20)
self.mapControl = MPMapControl(map: self.map!)

Setup the label views

nameLabel = UILabel()
descrLabel = UILabel()
nameLabel.backgroundColor = UIColor.white
descrLabel.backgroundColor = UIColor.white

Arrange the labels inside a stackview

Arrange the map and the stackview inside another stackview

When marker is tapped, get related MapsIndoors location object and set label text, based on the name and description of the location

When map is tapped, reset label text

See the sample in LocationDetailsController.swift

Last updated

Was this helpful?