This is a simple example of showing pins in a Map.
Code Block import SwiftUI |
import MapKit |
|
struct MyAnnotationItem: Identifiable { |
var coordinate: CLLocationCoordinate2D |
|
let id = UUID() |
} |
|
struct ContentView: View { |
@State var coordinateRegion: MKCoordinateRegion = { |
var newRegion = MKCoordinateRegion() |
newRegion.center.latitude = 37.786996 |
newRegion.center.longitude = -122.440100 |
newRegion.span.latitudeDelta = 0.2 |
newRegion.span.longitudeDelta = 0.2 |
return newRegion |
}() |
|
var annotationItems: [MyAnnotationItem] = [ |
MyAnnotationItem(coordinate: CLLocationCoordinate2D(latitude: 37.810000, longitude: -122.477450)), |
MyAnnotationItem(coordinate: CLLocationCoordinate2D(latitude: 37.786996, longitude: -122.419281)), |
] |
|
var body: some View { |
VStack { |
Text("Hello, world!").padding() |
Map(coordinateRegion: $coordinateRegion, |
annotationItems: annotationItems) {item in |
MapPin(coordinate: item.coordinate) |
} |
} |
} |
} |
But I cannot find how to put multiple types of annotations in a
Map. (Showing Overlays, neither.)
Maybe that is one of the not-yet features...