---
title: CLLocation
framework: corelocation
role: symbol
role_heading: Class
path: corelocation/cllocation
---

# CLLocation

The latitude, longitude, and course information reported by the system.

## Declaration

```swift
class CLLocation
```

## Mentioned in

Converting between coordinates and user-friendly place names Getting heading and course information

## Overview

Overview A CLLocation object contains the geographical location and altitude of a device, along with values indicating the accuracy of those measurements and when they were collected. In iOS, a location object also contains course information — that is, the speed and heading in which the device was moving. Typically, you don’t create location objects yourself. After you request location updates from your CLLocationManager object, the system uses onboard sensors to gather location data and report that data to your app. Some services also return previously collected location data, which you can use as context to improve your services. You can always retrieve the most recently collected location from the location property of your CLLocationManager object. You may create location objects yourself when you want to cache custom location data or calculate the distance between two geographical coordinates. Use CLLocation objects as-is, and don’t subclass them.

## Topics

### Creating a location object

- [init(latitude:longitude:)](corelocation/cllocation/init(latitude:longitude:).md)
- [init(coordinate:altitude:horizontalAccuracy:verticalAccuracy:timestamp:)](corelocation/cllocation/init(coordinate:altitude:horizontalaccuracy:verticalaccuracy:timestamp:).md)
- [init(coordinate:altitude:horizontalAccuracy:verticalAccuracy:course:speed:timestamp:)](corelocation/cllocation/init(coordinate:altitude:horizontalaccuracy:verticalaccuracy:course:speed:timestamp:).md)
- [init(coordinate:altitude:horizontalAccuracy:verticalAccuracy:course:courseAccuracy:speed:speedAccuracy:timestamp:)](corelocation/cllocation/init(coordinate:altitude:horizontalaccuracy:verticalaccuracy:course:courseaccuracy:speed:speedaccuracy:timestamp:).md)
- [init(coordinate:altitude:horizontalAccuracy:verticalAccuracy:course:courseAccuracy:speed:speedAccuracy:timestamp:sourceInfo:)](corelocation/cllocation/init(coordinate:altitude:horizontalaccuracy:verticalaccuracy:course:courseaccuracy:speed:speedaccuracy:timestamp:sourceinfo:).md)

### Getting the location attributes

- [coordinate](corelocation/cllocation/coordinate.md)
- [altitude](corelocation/cllocation/altitude.md)
- [ellipsoidalAltitude](corelocation/cllocation/ellipsoidalaltitude.md)
- [CLLocationDistance](corelocation/cllocationdistance.md)
- [floor](corelocation/cllocation/floor.md)
- [timestamp](corelocation/cllocation/timestamp.md)
- [sourceInformation](corelocation/cllocation/sourceinformation.md)

### Getting the location accuracy

- [horizontalAccuracy](corelocation/cllocation/horizontalaccuracy.md)
- [verticalAccuracy](corelocation/cllocation/verticalaccuracy.md)
- [CLLocationAccuracy](corelocation/cllocationaccuracy.md)

### Measuring the distance between coordinates

- [distance(from:)](corelocation/cllocation/distance(from:).md)
- [getDistanceFrom(_:)](corelocation/cllocation/getdistancefrom(_:).md)

### Getting speed and course information

- [speed](corelocation/cllocation/speed.md)
- [speedAccuracy](corelocation/cllocation/speedaccuracy.md)
- [course](corelocation/cllocation/course.md)
- [courseAccuracy](corelocation/cllocation/courseaccuracy.md)
- [CLLocationSpeed](corelocation/cllocationspeed.md)
- [CLLocationDirection](corelocation/cllocationdirection.md)
- [CLLocationSpeedAccuracy](corelocation/cllocationspeedaccuracy.md)
- [CLLocationDirectionAccuracy](corelocation/cllocationdirectionaccuracy.md)

### Initializers

- [init(coder:)](corelocation/cllocation/init(coder:).md)

## Relationships

### Inherits From

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

### Conforms To

- [CKRecordValue](cloudkit/ckrecordvalue-c.protocol.md)
- [CKRecordValueProtocol](cloudkit/ckrecordvalueprotocol.md)
- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Location updates

- [Getting the current location of a device](corelocation/getting-the-current-location-of-a-device.md)
- [Handling location updates in the background](corelocation/handling-location-updates-in-the-background.md)
- [Creating a location push service extension](corelocation/creating-a-location-push-service-extension.md)
- [CLLocationCoordinate2D](corelocation/cllocationcoordinate2d.md)
- [CLFloor](corelocation/clfloor.md)
- [CLVisit](corelocation/clvisit.md)
- [CLLocationSourceInformation](corelocation/cllocationsourceinformation.md)
- [Monitoring location changes with Core Location](corelocation/monitoring-location-changes-with-core-location.md)
- [CLServiceSession](corelocation/clservicesession-pt7n.md)
