Swift version: 5.6
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
SPONSORED Fernando's book will guide you in fixing bugs in three real, open-source, downloadable apps from the App Store. Learn applied programming fundamentals by refactoring real code from published apps. Hacking with Swift readers get a $10 discount!
Available from iOS 3.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.