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

# MKReverseGeocodingRequest

A class that looks up address strings for the provided geographic coordinates.

```
class MKReverseGeocodingRequest
```

## Discussion

Use this class to look up an address by a coordinate you provide. This example shows how to use a <doc://com.apple.documentation/documentation/Swift/Task> modifier on a SwiftUI view to reverse geocodes an array of coordinates to the corresponding addresses that MapKit returns in an array of [`MKMapItem`](/documentation/MapKit/MKMapItem) objects.

```swift
    struct MyReverseGeocoderView: View {


    let fountainCoordinates = [
        CLLocation(latitude: 39.042617, longitude: -94.587526),
        CLLocation(latitude: 40.774313, longitude: -73.970835),
        CLLocation(latitude: -33.870986, longitude: 151.211786), 
        CLLocation(latitude: 41.875790, longitude: -87.618953),
        ]


        // An array that holds resolved information about the fountains.
        @State var fountains: [MKMapItem] = []


        var body: some View {
        // SwiftUI body views
        }
        .task {
            var fountainMapItems = [MKMapItem]()
            for coordinate in fountainCoordinates {
                if let request = MKReverseGeocodingRequest(location: coordinate) {
                    let mapitems = try? await request.mapItems
                    if let mapitem = mapitems?.first {
                        fountainMapItems.append(mapitem)
                    }
                }
            }
            fountains = fountainMapItems
            // The fountains `MKMapItems` array contains information describing 
            // details about the following places based on the provided coordinates:
            //
            // Mill Creek Park Fountain, Kansas City, Missouri
            // Bethesda Terrace Fountain, Central Park, New York City
            // Archibald Fountain, Sydney, Australia
            // Buckingham Fountain, Chicago, Illinois
        }
    }
```

## Topics

### Creating a request object

[`-  initWithLocation:`](/documentation/MapKit/MKReverseGeocodingRequest/init(location:))

Initializes a new reverse geocoder request object with the provided location.

### Getting the reverse geocoder’s state

[`loading`](/documentation/MapKit/MKReverseGeocodingRequest/isLoading)

A Boolean value that indicates whether the current reverse geocoding request is in a loading state.

[`cancelled`](/documentation/MapKit/MKReverseGeocodingRequest/isCancelled)

A Boolean value that indicates whether the current reverse geocoding request is in a cancelled state.

[`location`](/documentation/MapKit/MKReverseGeocodingRequest/location)

The location provided to the initializer.

### Controlling the reverse geocoder’s operation

[`-  cancel`](/documentation/MapKit/MKReverseGeocodingRequest/cancel())

A method you call to cancel a reverse geocoding request that’s in progress.

### Getting information about map items and the reverse geocoder’s locale’

[`-  getMapItemsWithCompletionHandler:`](/documentation/MapKit/MKReverseGeocodingRequest/getMapItems(completionHandler:))

Returns the map items relevant to the reverse geocoded location.

[`preferredLocale`](/documentation/MapKit/MKReverseGeocodingRequest/preferredLocale)

A value that indicates the preferred locale for the addresses the request returns, or `nil` if the framework should use the device locale.

## Relationships

### Conforms To

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

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

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

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

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

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

### 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)