<!--
{
  "documentType" : "article",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/mapkit-for-appkit-and-uikit",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "MapKit for AppKit and UIKit"
}
-->

# MapKit for AppKit and UIKit

## Topics

### Essentials

[Enabling Maps capability in Xcode](/documentation/MapKit/enabling-maps-capability-in-xcode)

Configure your routing app to support providing directions.

[Identifying unique locations with Place IDs](/documentation/MapKit/identifying-unique-locations-with-place-ids)

Obtain information about a point of interest that persists over its lifetime.

[`MKMapView`](/documentation/MapKit/MKMapView)

An embeddable map interface, similar to the one that the Maps app provides.

[`MKMapItem`](/documentation/MapKit/MKMapItem)

A point of interest on the map.

### Map coordinates

[`MKCoordinateRegion`](/documentation/MapKit/MKCoordinateRegion)

A rectangular geographic region that centers around a specific latitude and longitude.

[`MKCoordinateSpan`](/documentation/MapKit/MKCoordinateSpan)

The width and height of a map region.

[`MKMapRect`](/documentation/MapKit/MKMapRect)

A rectangular area on a two-dimensional map projection.

[`MKMapPoint`](/documentation/MapKit/MKMapPoint)

A point on a two-dimensional map projection.

[`MKMapSize`](/documentation/MapKit/MKMapSize)

Width and height information on a two-dimensional map projection.

[`MKDistanceFormatter`](/documentation/MapKit/MKDistanceFormatter)

A utility object that converts between a geographic distance and a string-based expression of that distance.

### Map customization

[`MKMapCamera`](/documentation/MapKit/MKMapCamera)

A virtual camera for defining the appearance of the map.

[`MKCompassButton`](/documentation/MapKit/MKCompassButton)

A specialized view that displays the compass heading for its associated map.

[`MKScaleView`](/documentation/MapKit/MKScaleView)

A specialized view that displays the scale information for its associated map.

[`MKZoomControl`](/documentation/MapKit/MKZoomControl)

A specialized view that displays and controls the zoom level of the map view.

[`MKPitchControl`](/documentation/MapKit/MKPitchControl)

A specialized view that displays and controls the pitch angle of the map view.

[`MKUserTrackingButton`](/documentation/MapKit/MKUserTrackingButton)

A specialized button that allows the user to toggle whether the map tracks to the heading the user is facing.

[`MKUserTrackingBarButtonItem`](/documentation/MapKit/MKUserTrackingBarButtonItem)

A specialized bar button item that allows the user to toggle whether the map tracks to the heading the user is facing.

### Annotations and overlays

[MapKit annotations](/documentation/MapKit/mapkit-annotations)

Create annotations to add indicators and additional details for specific locations on a map.

[MapKit overlays](/documentation/MapKit/mapkit-overlays)

Create overlays to highlight geographic regions or paths.

### Directions

[`MKDirections`](/documentation/MapKit/MKDirections)

A utility object that computes directions and travel-time information based on the route information you provide.

[`Request`](/documentation/MapKit/MKDirections/Request)

The start and end points of a route, along with the planned mode of transportation.

[`Response`](/documentation/MapKit/MKDirections/Response)

The route information that Apple servers return in response to your request for directions.

[`ETAResponse`](/documentation/MapKit/MKDirections/ETAResponse)

The travel-time information that Apple servers return.

[`MKRoute`](/documentation/MapKit/MKRoute)

A single route between a requested start and end point.

[`Step`](/documentation/MapKit/MKRoute/Step)

One portion of an overall route.

### Geographical features

[Displaying an Indoor Map](/documentation/MapKit/displaying-an-indoor-map)

Use the Indoor Mapping Data Format (IMDF) to show an indoor map with custom overlays and points of interest.

[`MKGeoJSONDecoder`](/documentation/MapKit/MKGeoJSONDecoder)

An object that decodes GeoJSON objects into MapKit types.

[`MKGeoJSONFeature`](/documentation/MapKit/MKGeoJSONFeature)

The decoded representation of a GeoJSON feature.

[`MKGeoJSONObject`](/documentation/MapKit/MKGeoJSONObject)

Objects that the GeoJSON decoder can return.

### Local search

[Interacting with nearby points of interest](/documentation/MapKit/interacting-with-nearby-points-of-interest)

Provide automatic search completions for a partial search query, search the map for relevant locations nearby, and retrieve details for selected points of interest.

[`MKLocalSearchRegionPriority`](/documentation/MapKit/MKLocalSearchRegionPriority)

A value that indicates the importance of the configured region.

[`ResultType`](/documentation/MapKit/MKLocalSearch/ResultType)

Options that indicate types of search results.

[`MKLocalSearch`](/documentation/MapKit/MKLocalSearch)

A utility object for initiating map-based searches and processing the results.

[`Options`](/documentation/MapKit/MKAddressFilter/Options)

A structure that contains options for filtering results in a search.

[`MKAddressFilter`](/documentation/MapKit/MKAddressFilter)

An object that filters which address options to include or exclude in search results.

[`ResultType`](/documentation/MapKit/MKLocalSearchCompleter/ResultType)

Options that indicate types of search completions.

[`MKLocalSearchCompleter`](/documentation/MapKit/MKLocalSearchCompleter)

A utility object for generating a list of completion strings based on a partial search string that you provide.

[`MKLocalSearchCompletion`](/documentation/MapKit/MKLocalSearchCompletion)

A fully formed string that completes a partial string.

[`MKLocalPointsOfInterestRequest`](/documentation/MapKit/MKLocalPointsOfInterestRequest)

A structured request to use when searching for points of interest.

### Exploring at street level

[`MKLookAroundScene`](/documentation/MapKit/MKLookAroundScene)

A utility class that encapsulates information the framework requires to retrieve and display a specific Look Around location’s imagery.

[`MKLookAroundSceneRequest`](/documentation/MapKit/MKLookAroundSceneRequest)

A class you use to request a LookAround scene at the location you specify.

[`MKLookAroundViewController`](/documentation/MapKit/MKLookAroundViewController)

A class that manages the presentation and display of a LookAround view.

[`MKLookAroundSnapshotter`](/documentation/MapKit/MKLookAroundSnapshotter)

A utility class that you use to create a static image from a LookAround scene.

### Place information

[`MKMapItemDetailViewControllerDelegate`](/documentation/MapKit/MKMapItemDetailViewControllerDelegate)

The methods that you use to receive events from an associated map view controller.

[`MKMapItemDetailViewController`](/documentation/MapKit/MKMapItemDetailViewController)

An object that displays detailed information about a map item.

[`MapItemDetailPresentationStyle`](/documentation/MapKit/MKSelectionAccessory/MapItemDetailPresentationStyle)

The type of map item detail accessory presentation to use.

[`MKSelectionAccessory`](/documentation/MapKit/MKSelectionAccessory)

The type of accessory to display for a selected annotation.

[`CalloutStyle`](/documentation/MapKit/MKSelectionAccessory/MapItemDetailPresentationStyle/CalloutStyle)

The style to use for a map item detail callout presentation.

### Points of interest

[Identifying unique locations with Place IDs](/documentation/MapKit/identifying-unique-locations-with-place-ids)

Obtain information about a point of interest that persists over its lifetime.

[`MKMapFeatureAnnotation`](/documentation/MapKit/MKMapFeatureAnnotation)

A class that describes an annotation element on the map’s display such as a point of interest, territorial boundary, or physical feature.

[`MKMapFeatureOptions`](/documentation/MapKit/MKMapFeatureOptions)

A structure you use to tell the map which kinds of features users can interact with.

[`MKMapItemRequest`](/documentation/MapKit/MKMapItemRequest)

A utility class you use to request additional information about a map feature.

[`MKIconStyle`](/documentation/MapKit/MKIconStyle)

A class you use to customize the annotation view icon of a point of interest (POI) on the map.

[`MKPointOfInterestFilter`](/documentation/MapKit/MKPointOfInterestFilter)

A filter that includes or excludes point of interest categories from a map view, local search, or local search completer.

[`MKPointOfInterestCategory`](/documentation/MapKit/MKPointOfInterestCategory)

A point of interest category.

### Static map snapshots

[`MKMapSnapshotter`](/documentation/MapKit/MKMapSnapshotter)

A utility class for capturing a map and its content into an image.

[`Snapshot`](/documentation/MapKit/MKMapSnapshotter/Snapshot)

An image that a snapshotter object generates.

### Reference

[MapKit Functions](/documentation/MapKit/mapkit-functions)

The functions of the MapKit framework provide convenient ways to package map-related data structures.

### Errors

[`MKErrorDomain`](/documentation/MapKit/MKErrorDomain)

The error domain for MapKit.

[`MKError`](/documentation/MapKit/MKError)

Error constants for the MapKit framework.

[`Code`](/documentation/MapKit/MKError/Code)

Error constants for the MapKit framework.

### Deprecated

[Deprecated Symbols](/documentation/MapKit/deprecated-symbols)

Map protocols and view modifiers that are no longer supported.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)