<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.9.0 -",
    "tvOS: 9.2.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MKMapCamera",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "MapKit"
    ],
    "preciseIdentifier" : "c:objc(cs)MKMapCamera"
  },
  "title" : "MKMapCamera"
}
-->

# MKMapCamera

A virtual camera for defining the appearance of the map.

```
class MKMapCamera
```

## 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`](/documentation/MapKit/MKMapCamera/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

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

Returns a new camera object for you to configure.

[`+  cameraLookingAtCenterCoordinate:fromEyeCoordinate:eyeAltitude:`](/documentation/MapKit/MKMapCamera/init(lookingAtCenter:fromEyeCoordinate:eyeAltitude:))

Returns a new camera object using the specified viewing angle information.

[`+  cameraLookingAtCenterCoordinate:fromDistance:pitch:heading:`](/documentation/MapKit/MKMapCamera/init(lookingAtCenter:fromDistance:pitch:heading:))

Returns a new camera object using the specified distance, pitch, and heading information.

[`+  cameraLookingAtMapItem:forViewSize:allowPitch:`](/documentation/MapKit/MKMapCamera/init(lookingAt:forViewSize:allowPitch:))

Returns a new camera object using the specified map item, view size, and pitch.

### Configuring the viewing angle

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

The map coordinate at the center of the map view.

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

The heading of the camera (in degrees) relative to true north.

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

The distance from the center point of the map to the camera, in meters.

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

The viewing angle of the camera, in degrees.

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

The altitude above the ground, in meters.

## Relationships

### Conforms To

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)