struct AnnotationItem: Identifiable { let id = UUID() var name: String var coordinates: CLLocationCoordinate2D }
extension AnnotationItem { static var POI: [AnnotationItem] { [ AnnotationItem(name: "Golden Gate Bridge", coordinates: CLLocationCoordinate2D(latitude: 37.779339, longitude: -122.433609)), AnnotationItem(name: "San Diego Zoo", coordinates: CLLocationCoordinate2D(latitude: 33.095829, longitude: -117.008797)), AnnotationItem(name: "Statue Of Liberty", coordinates: CLLocationCoordinate2D(latitude: 40.689247, longitude: -74.044502)), AnnotationItem(name: "Empire State Building", coordinates: CLLocationCoordinate2D(latitude: 40.74853801503154, longitude: -73.98590043614894)), ] } }
struct MapAnnotationExample: View { @State private var region = MKCoordinateRegion(center: AnnotationItem.POI[0].coordinates, latitudinalMeters: 5000, longitudinalMeters: 5000) var body: some View { Map(coordinateRegion: $region, annotationItems: AnnotationItem.POI) { item in MapMarker(coordinate: item.coordinates, tint: .green) } .edgesIgnoringSafeArea(.all) } }
struct MapAnnotationExample: View { @State private var region = MKCoordinateRegion(center: AnnotationItem.POI[0].coordinates, latitudinalMeters: 5000, longitudinalMeters: 5000) var body: some View { Map(coordinateRegion: $region, annotationItems: AnnotationItem.POI) { item in MapPin(coordinate: item.coordinates, tint: .green) } .edgesIgnoringSafeArea(.all) } }
struct MapAnnotationExample: View { @State private var region = MKCoordinateRegion(center: AnnotationItem.POI[0].coordinates, latitudinalMeters: 5000, longitudinalMeters: 5000) var body: some View { Map(coordinateRegion: $region, annotationItems: AnnotationItem.POI) { item in MapAnnotation(coordinate: item.coordinates) { ZStack { Image(systemName: "flag.circle.fill") .font(.largeTitle) Image(systemName: "arrow.down") .offset(y: 20) }.foregroundStyle(LinearGradient(colors: [Color.green, Color.pink], startPoint: .top, endPoint: .bottom)) .background(Circle()) } } .edgesIgnoringSafeArea(.all) } }
With that we have reached the end of this article. Thank you once again for reading. Subscribe to our weekly newsletter at https://www.devtechie.com