---
title: MKMapCamera
framework: mapkit
role: symbol
role_heading: Class
path: mapkit/mkmapcamera
---

# MKMapCamera

A virtual camera for defining the appearance of the map.

## Declaration

```swift
class MKMapCamera
```

## Overview

Overview A camera object defines a virtual viewpoint above the map surface and affects how MapKit presents the map to the user. You use a camera object to specify the location of the camera on the map, the compass heading indicating the camera’s viewing direction, the pitch of the camera relative to the map perpendicular, and the camera’s altitude above the map. These factors create a map view with a three-dimensional perspective. After creating an instance of this class, configure it with the desired attributes and assign it to your map view. When you assign a camera to your map view, MapKit centers the map using the value in your camera object’s centerCoordinate property, updating the map’s own region information in the process. The map also takes the camera’s pitch and altitude into account when calculating the visible region, ensuring that the region encompasses the visible content on the map.

## Topics

### Getting a camera object

- [init(lookingAtCenter:fromEyeCoordinate:eyeAltitude:)](mapkit/mkmapcamera/init(lookingatcenter:fromeyecoordinate:eyealtitude:).md)
- [init(lookingAtCenter:fromDistance:pitch:heading:)](mapkit/mkmapcamera/init(lookingatcenter:fromdistance:pitch:heading:).md)
- [init(lookingAt:forViewSize:allowPitch:)](mapkit/mkmapcamera/init(lookingat:forviewsize:allowpitch:).md)

### Configuring the viewing angle

- [centerCoordinate](mapkit/mkmapcamera/centercoordinate.md)
- [heading](mapkit/mkmapcamera/heading.md)
- [centerCoordinateDistance](mapkit/mkmapcamera/centercoordinatedistance.md)
- [pitch](mapkit/mkmapcamera/pitch.md)
- [altitude](mapkit/mkmapcamera/altitude.md)

### Initializers

- [init(coder:)](mapkit/mkmapcamera/init(coder:).md)
- [init(lookingAtCenterCoordinate:fromDistance:pitch:heading:)](mapkit/mkmapcamera/init(lookingatcentercoordinate:fromdistance:pitch:heading:).md)
- [init(lookingAtCenterCoordinate:fromEyeCoordinate:eyeAltitude:)](mapkit/mkmapcamera/init(lookingatcentercoordinate:fromeyecoordinate:eyealtitude:).md)
- [init(lookingAtMapItem:forViewSize:allowPitch:)](mapkit/mkmapcamera/init(lookingatmapitem:forviewsize:allowpitch:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Map customization

- [MKCompassButton](mapkit/mkcompassbutton.md)
- [MKScaleView](mapkit/mkscaleview.md)
- [MKZoomControl](mapkit/mkzoomcontrol.md)
- [MKPitchControl](mapkit/mkpitchcontrol.md)
- [MKUserTrackingButton](mapkit/mkusertrackingbutton.md)
- [MKUserTrackingBarButtonItem](mapkit/mkusertrackingbarbuttonitem.md)
