Optional methods that you use to receive map-related update messages.
Because many map operations require the MKMapView class to load data asynchronously, the map view calls these methods to notify your application when specific operations complete. The map view also uses these methods to request annotation and overlay views and to manage interactions with those views.
Before releasing an MKMapView object for which you have set a delegate, remember to set that object’s delegate property to nil. MapKit calls all of your delegate methods on the app's main thread.