
We will start by setting up the location permission and asking users authorization to access their location.
For further reading related to location authorization, you can visit https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_always_authorization
We are going to determine where the user location currently is and set the user annotation to show the user location on the map.
We will allow users to center their map position based on where they are currently located. So if the users move the map view to different region, tapping the user location button will center the map back to current user location.
We are going to show the compass and reposition the compass view to where we want it to be instead of the default top right corner position.
We will learn to apply a different map style for our map view.
We will setup a search view that will allow us to show options for points of interests search as well as a text search.
We will create search service for POI search using MKLocalSearch
We will setup a search service that will allow us to search a particular point of interests and display the search result as a list and as annotations on the map.
We will learn to update the POI search result as the region changes.
We will perform a free text search and taking advantage of search completion and a highlighted search suggestion.
We will learn to create a callout when a map marker is selected and display the address for that particular marker location.
We will learn to create a custom marker annotation based on the points of interest that are being displayed on the map.
We will learn to create a different type of custom marker that helps us identify the type of points of interest currently active.
We will learn cluster annotation to help organizing map markers that are closed to each other.
We will learn to transform the touch coordinate on the map into an address and mark the location on the map with a marker.
We are going to create the view that can slide up or down when users request a direction to their destination.
We will capture the users action on the callout to initiate the directions request to our destination from the current location.
We will learn to render route ribbons on the map based on the directions from the current location to our destination.
We will allow users to pick alternative route if more than one route are displayed on the map view.
We will inspect the route object and display the necessary route advisory notice to allow users pick their best route.
We are going to take advantage of the Apple Maps navigation feature by pushing our source and target destination to Apple Maps to start the navigation.
MapKit has been one of the most used frameworks in iOS development. The usage varies greatly from things like
Provide business search or address search
Display points of interests
Show user location
Provide directions, routes or even navigation.
We are going to review some of the most common features within this Map Kit framework. Few highlights of what we will be covering on this course:
Apply different map style to our map
Get the user location and how to center the map region to current user location
Search completer and highlighter
Draw custom annotation and callout
Perform annotation clustering on adjacent annotations
Get direction from users location to their destination
Draw route ribbon into map
Select a route that best fits users needs
Initiate driving navigation in integration with Apple Maps
Perform reverse geocoding
By the time you are done with this course you will be comfortable and confident in integrating MapKit framework into your app. I hope this course will challenge you and I look forward to seeing you in this course.