Swift version: 5.1
You can add places to any map view using the
MKPlacemark class, and it’s different from adding regular annotations – the map view shows the whole address on the map, even from far away, so users can see important points easily.
Your address needs to be specified as a series of keys from the Contacts framework, so start by adding this import:
Now add the GPS coordinate and address for the placemark you want. This creates a coordinate and address for Fortnum & Mason in London:
let coords = CLLocationCoordinate2DMake(51.5083, -0.1384) let address = [CNPostalAddressStreetKey: "181 Piccadilly, St. James's", CNPostalAddressCityKey: "London", CNPostalAddressPostalCodeKey: "W1A 1ER", CNPostalAddressISOCountryCodeKey: "GB"]
You can then wrap that up inside an
MKPlacemark instance like this:
let place = MKPlacemark(coordinate: coords, addressDictionary: address)
Finally, add that to your map view.
MKPlacemark conforms to the
MKAnnotation protocol, so you use
LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!
Available from iOS 3.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.