Create MKMapView in Swift Programmatically

In this Swift code example we will create MKMapView programmatically and will add it at the centre of our main view as a subview.

Add MapKit.framework to your project in Xcode

For the code below to work, it is important that you add MapKit.framework to your project. One for the ways to do it is to follow these steps:

  1. Open your project in Xcode and in the left side panel called “Project navigator” select your project. Middle panel of your Xcode will update with new UI.
  2. Then, from the list of Targets(Middle view of your Xcode), select your project name.
  3. From the tabs above(Middle view of your Xcode) select Capabilities
  4. In the list of available Capabilities, Turn on Maps. This will link MapKit.framework to your project.

The code example below will cover:

  • Import MapKit into your Xcode project,
  • Create MKMapView programmatically,
  • Position MKMapView at the specified location within the view
  • Set Map type to MKMapType.Standard
  • Enable map view zoom and scrolling
  • Add MapView as subview

Create and Add MKMapView Programmatically. Complete Code Example in Swift.

 
import UIKit
import MapKit

class ViewController: UIViewController, MKMapViewDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        let mapView = MKMapView()
        
        let leftMargin:CGFloat = 10
        let topMargin:CGFloat = 60
        let mapWidth:CGFloat = view.frame.size.width-20
        let mapHeight:CGFloat = 300
        
        mapView.frame = CGRect(x: leftMargin, y: topMargin, width: mapWidth, height: mapHeight)
        
        mapView.mapType = MKMapType.standard
        mapView.isZoomEnabled = true
        mapView.isScrollEnabled = true
        
        // Or, if needed, we can position map in the center of the view
        mapView.center = view.center
        
        view.addSubview(mapView)
    }
    
}

Determine user’s current location latitude and longitude

Also, check out this swift code examples on how to determine user’s current location latitude and longitude.


Learn iOS Development with these Video Courses

The Complete iOS 11 & Swift Developer Course - Build 20 Apps

Use Xcode 9 & Swift 4 to make real apps like Uber and Instagram, with CoreML & ARKit. Includes AWS Credit and much more. Preview this video course. icon

How to Make a Freaking iPhone App - iOS 11 and Swift 4

iPhone App Development from scratch. Learn how to make iOS apps using Xcode 9. The Basics Include Pokemon Go & Snapchat. Learn to build iOS Apps with Xcode 9 and Swift 4. How to Make a Freaking iPhone App - iOS 11 and Swift 4 icon

iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course

A Complete iOS 11 and Xcode 9 Course with Swift 4 & Objective-C. Preview this video course. iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course icon