MKMapView wrapper for SwiftUI as drop-in to MapKit's SwiftUI view. Easily extensible annotations and overlays, iOS 13 support and backwards compatible with MKAnnotation and MKOverlay!
Haven't dove into the code, but compilation for macOS arm64 yields the following log excerpt:
SwiftCompile normal arm64 [PATH]/Map/Sources/Map/Map.swift (in target 'Map' from project 'Map')
...
[PATH]/Map/Sources/Map/Map.swift:55:139: error: contextual closure type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
@OptionalMapAnnotationBuilder clusterAnnotation: @escaping (MKClusterAnnotation, [AnnotationItems.Element]) -> MapAnnotation? = { _ in nil },
^
,_
[PATH]/Map/Sources/Map/Map.swift:55:137: error: generic parameter 'AnnotationItems' could not be inferred
@OptionalMapAnnotationBuilder clusterAnnotation: @escaping (MKClusterAnnotation, [AnnotationItems.Element]) -> MapAnnotation? = { _ in nil },
^
[PATH]/Map/Sources/Map/Map.swift:13:19: note: 'AnnotationItems' declared as parameter to type 'Map'
public struct Map<AnnotationItems: RandomAccessCollection, OverlayItems: RandomAccessCollection>
^
[PATH]/Map/Sources/Map/Map.swift:285:32: error: extra argument 'clusterAnnotation' in call
clusterAnnotation: { annotation, _ in clusterAnnotation(annotation) },
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[PATH]/Map/Sources/Map/Map.swift:493:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:493:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:524:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:524:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:558:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:558:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:592:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:592:32: error: cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
clusterAnnotation: clusterAnnotation,
^
[PATH]/Map/Sources/Map/Map.swift:711:32: error: contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
[PATH]/Map/Sources/Map/Map.swift:711:55: error: value of type 'MKClusterAnnotation' has no member 'map'
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
~~ ^~~
[PATH]/Map/Sources/Map/Map.swift:711:59: error: cannot infer key path type from context; consider explicitly specifying a root type
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
<#Root#>
[PATH]/Map/Sources/Map/Map.swift:745:32: error: contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
[PATH]/Map/Sources/Map/Map.swift:745:55: error: value of type 'MKClusterAnnotation' has no member 'map'
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
~~ ^~~
[PATH]/Map/Sources/Map/Map.swift:745:59: error: cannot infer key path type from context; consider explicitly specifying a root type
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
<#Root#>
[PATH]/Map/Sources/Map/Map.swift:782:32: error: contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
[PATH]/Map/Sources/Map/Map.swift:782:55: error: value of type 'MKClusterAnnotation' has no member 'map'
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
~~ ^~~
[PATH]/Map/Sources/Map/Map.swift:782:59: error: cannot infer key path type from context; consider explicitly specifying a root type
clusterAnnotation: { clusterAnnotation($0.map(\.object)) },
^
<#Root#>
[PATH]/Map/Sources/Map/Map.swift:55:139: Contextual closure type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
[PATH]/Map/Sources/Map/Map.swift:55:137: Generic parameter 'AnnotationItems' could not be inferred
[PATH]/Map/Sources/Map/Map.swift:285:32: Extra argument 'clusterAnnotation' in call
[PATH]/Map/Sources/Map/Map.swift:493:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:493:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:524:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:524:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:558:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:558:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:592:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:592:32: Cannot convert value of type '([AnnotationItems.Element]) -> (any MapAnnotation)?' to expected argument type '(MKClusterAnnotation, [AnnotationItems.Element]) -> (any MapAnnotation)?'
[PATH]/Map/Sources/Map/Map.swift:711:32: Contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
[PATH]/Map/Sources/Map/Map.swift:711:55: Value of type 'MKClusterAnnotation' has no member 'map'
[PATH]/Map/Sources/Map/Map.swift:711:59: Cannot infer key path type from context; consider explicitly specifying a root type
[PATH]/Map/Sources/Map/Map.swift:745:32: Contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
[PATH]/Map/Sources/Map/Map.swift:745:55: Value of type 'MKClusterAnnotation' has no member 'map'
[PATH]/Map/Sources/Map/Map.swift:745:59: Cannot infer key path type from context; consider explicitly specifying a root type
[PATH]/Map/Sources/Map/Map.swift:782:32: Contextual closure type '(MKClusterAnnotation, [IdentifiableObject<any MKAnnotation>]) -> (any MapAnnotation)?' expects 2 arguments, but 1 was used in closure body
[PATH]/Map/Sources/Map/Map.swift:782:55: Value of type 'MKClusterAnnotation' has no member 'map'
[PATH]/Map/Sources/Map/Map.swift:782:59: Cannot infer key path type from context; consider explicitly specifying a root type
This is not Apple Silicon specific, but it currently has issues compiling on macOS in general - I will try to fix this ASAP - sorry for the inconvenience.
M1 iMac macOS 13.2.1 Xcode 14.3
Haven't dove into the code, but compilation for macOS arm64 yields the following log excerpt: