Post

Replies

Boosts

Views

Activity

Reply to MapPolygon
Pretty sure hit testing with a MapReader proxy is the way to go: Something like: MapReader { proxy in Map(initialPosition: cameraPosition) { MapPolygon(polygon) .stroke(.purple.opacity(0.5), lineWidth: 5) .foregroundStyle(isSelected ? .purple.opacity(0.2) : .clear) } .onTapGesture { tapPoint in if let coordinate = proxy.convert(tapPoint, from: .local) { let renderer = MKPolygonRenderer(polygon: polygon) let mapPoint = MKMapPoint(coordinate) let rendererPoint = renderer.point(for: mapPoint) if renderer.path.contains(rendererPoint) { isSelected.toggle() } } } }
1w