This subject is often referred to as LBS, Location Based Services, and is generally combines the 2 above mentioned frameworks, CoreLocation which establishes the device's actual location (latitude / longitude) as well as orientation with MapKit which is then used to display that information on a map for viewing, getting directions and such.
References:
Location Awareness Programming Guide - Apple's MapKit & CoreLocation reference
Map Kit Framework Reference
Core Location Framework Reference
CoreLocation Framework:
CLLocationManager - The
CLLocationManager
class defines the interface for
configuring the delivery of location- and heading-related events to your
application. You use an instance of this class to establish the
parameters that determine when location and heading events should be
delivered and to start and stop the actual delivery of those events. You
can also use a location manager object to retrieve the most recent
location and heading data. It does:- Tracking large or small changes in the user’s current location with a configurable degree of accuracy.
- Reporting heading changes from the onboard compass. (iOS only)
- Monitoring distinct regions of interest and generating location events when the user enters or leaves those regions.
- Deferring the delivery of location updates while the app is in the background. (iOS 6 and later only)
MapKit Framework: