---
title: MapPin
framework: mapkit
role: symbol
role_heading: Structure
path: mapkit/mappin
---

# MapPin

A pin-shaped annotation used to indicate a location on a map.

## Declaration

```swift
struct MapPin
```

## Overview

Overview Create a Map and display pin annotations by returning a view that conforms to MapAnnotationProtocol, such as MapPin, from the trailing closure of init(coordinateRegion:interactionModes:showsUserLocation:userTrackingMode:annotationItems:annotationContent:) or init(mapRect:interactionModes:showsUserLocation:userTrackingMode:annotationItems:annotationContent:). Items you provide as a collection to the source annotations need to conform to Identifiable. For example, the following code displays a map with a pin annotation: struct IdentifiablePlace: Identifiable {     let id: UUID     let location: CLLocationCoordinate2D     init(id: UUID = UUID(), lat: Double, long: Double) {         self.id = id         self.location = CLLocationCoordinate2D(             latitude: lat,             longitude: long)     } }

struct PinAnnotationMapView: View {     let place: IdentifiablePlace     @State var region: MKCoordinateRegion

var body: some View {         Map(coordinateRegion: $region,             annotationItems: [place])         { place in             MapPin(coordinate: place.location,                    tint: Color.purple)         }     } }

## Topics

### Creating a map pin

- [init(coordinate:tint:)](mapkit/mappin/init(coordinate:tint:).md)

## Relationships

### Conforms To

- [MapAnnotationProtocol](mapkit/mapannotationprotocol.md)
