Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
scheme: [MapLibreSwiftUI-Package]
destination: [
# TODO: Add more destinations (snapshot testing is the problem)
"platform=iOS Simulator,name=iPhone 16,OS=18.1",
"platform=iOS Simulator,name=iPhone 16,OS=18.6",
# 'platform=watchOS Simulator,name=Apple Watch Ultra 2 (49mm)',
# "platform=iOS Simulator,name=iPad (10th generation),OS=16.4",
# "platform=iOS Simulator,name=iPhone 15,OS=17.2",
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftDSL/Style Layers/Background.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ public struct BackgroundLayer: StyleLayer {
public let identifier: String
public var insertionPosition: LayerInsertionPosition = .below(.all)
public var isVisible: Bool = true
public var maximumZoomLevel: Float? = nil
public var minimumZoomLevel: Float? = nil
public var maximumZoomLevel: Float?
public var minimumZoomLevel: Float?

public init(identifier: String) {
self.identifier = identifier
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftDSL/Style Layers/Circle.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public struct CircleStyleLayer: SourceBoundVectorStyleLayerDefinition {
public let sourceLayerIdentifier: String?
public var insertionPosition: LayerInsertionPosition = .above(.all)
public var isVisible: Bool = true
public var maximumZoomLevel: Float? = nil
public var minimumZoomLevel: Float? = nil
public var maximumZoomLevel: Float?
public var minimumZoomLevel: Float?

public var source: StyleLayerSource
public var predicate: NSPredicate?
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftDSL/Style Layers/FillStyleLayer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public struct FillStyleLayer: SourceBoundVectorStyleLayerDefinition {
public let sourceLayerIdentifier: String?
public var insertionPosition: LayerInsertionPosition = .above(.all)
public var isVisible: Bool = true
public var maximumZoomLevel: Float? = nil
public var minimumZoomLevel: Float? = nil
public var maximumZoomLevel: Float?
public var minimumZoomLevel: Float?

public var source: StyleLayerSource
public var predicate: NSPredicate?
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftDSL/Style Layers/Line.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ public struct LineStyleLayer: SourceBoundVectorStyleLayerDefinition {
public let sourceLayerIdentifier: String?
public var insertionPosition: LayerInsertionPosition = .above(.all)
public var isVisible: Bool = true
public var maximumZoomLevel: Float? = nil
public var minimumZoomLevel: Float? = nil
public var maximumZoomLevel: Float?
public var minimumZoomLevel: Float?

public var source: StyleLayerSource
public var predicate: NSPredicate?
Expand Down
14 changes: 14 additions & 0 deletions Sources/MapLibreSwiftDSL/Style Layers/StyleLayerCollection.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,17 @@ import Foundation
public protocol StyleLayerCollection {
@MapViewContentBuilder var layers: [StyleLayerDefinition] { get }
}

/// Enables more natural "Builder" return value (more like SwiftUI's View)
///
/// Instead of:
/// ```
/// @MapViewContentBuilder mapContent: @escaping () -> [StyleLayerDefinition]
/// ```
/// You can do:
/// ```
/// @MapViewContentBuilder mapContent: @escaping () -> some StyleLayerCollection
/// ```
extension [StyleLayerDefinition]: StyleLayerCollection {
public var layers: [StyleLayerDefinition] { self }
}
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftDSL/Style Layers/Symbol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public struct SymbolStyleLayer: SourceBoundVectorStyleLayerDefinition {
public let sourceLayerIdentifier: String?
public var insertionPosition: LayerInsertionPosition = .above(.all)
public var isVisible: Bool = true
public var maximumZoomLevel: Float? = nil
public var minimumZoomLevel: Float? = nil
public var maximumZoomLevel: Float?
public var minimumZoomLevel: Float?

public var source: StyleLayerSource
public var predicate: NSPredicate?
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftUI/Examples/Camera.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ struct CameraDirectManipulationPreview: View {
@State private var camera = MapViewCamera.center(switzerland, zoom: 4)

let styleURL: URL
var onStyleLoaded: (() -> Void)? = nil
var targetCameraAfterDelay: MapViewCamera? = nil
var onStyleLoaded: (() -> Void)?
var targetCameraAfterDelay: MapViewCamera?

var body: some View {
MapView(styleURL: styleURL, camera: $camera)
Expand Down
4 changes: 2 additions & 2 deletions Sources/MapLibreSwiftUI/MapView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ public struct MapView<T: MapViewHostViewController>: UIViewControllerRepresentab
camera: Binding<MapViewCamera> = .constant(.default()),
locationManager: MLNLocationManager? = nil,
activity: MapActivity = .standard,
@MapViewContentBuilder _ makeMapContent: () -> [StyleLayerDefinition] = { [] }
@MapViewContentBuilder _ makeMapContent: () -> some StyleLayerCollection = { [] }
) {
self.makeViewController = makeViewController
styleSource = .url(styleURL)
_camera = camera
userLayers = makeMapContent()
userLayers = makeMapContent().layers
self.locationManager = locationManager
self.activity = activity
}
Expand Down
Loading