Skip to content

Commit 77446b5

Browse files
maiospersidskiypjleonard37Release SDK bot for Maps SDK teamOdNairy
authored
Prepare v11.8 release (#2352)
Co-authored-by: Ivan Persidsky <[email protected]> Co-authored-by: Patrick Leonard <[email protected]> Co-authored-by: Release SDK bot for Maps SDK team <[email protected]> Co-authored-by: Roman Gardukevich <[email protected]> Co-authored-by: Aleksei Sapitskii <[email protected]>
1 parent 99791fb commit 77446b5

File tree

20 files changed

+97
-182
lines changed

20 files changed

+97
-182
lines changed

Apps/Apps.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Apps/Examples/Examples/SwiftUI Examples/SnapshotMapExample.swift

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,60 @@
11
import SwiftUI
22
import MapboxMaps
33

4-
@available(iOS 13.0, *)
4+
@available(iOS 14.0, *)
55
struct SnapshotMapExample: View {
66
@State var image: UIImage?
77

8+
struct SnapshotterImage: Identifiable {
9+
var id: ObjectIdentifier { ObjectIdentifier(image) }
10+
let image: UIImage
11+
}
12+
@State var snapshotterImage: SnapshotterImage?
13+
@State var snapshotter = Snapshotter(options: MapSnapshotOptions(size: CGSize(width: 512, height: 512), pixelRatio: 2.0))
14+
815
var body: some View {
916
GeometryReader { geometry in
1017
VStack(spacing: 10) {
1118
MapReader { proxy in
1219
Map(initialViewport: .helsinkiOverview)
1320
.mapStyle(.outdoors)
1421
.onMapIdle { _ in image = proxy.captureSnapshot() }
22+
.onCameraChanged { event in
23+
snapshotter.setCamera(to: CameraOptions(cameraState: event.cameraState))
24+
}
1525
.frame(height: geometry.size.height / 2)
1626
}
1727

1828
SnapshotView(snapshot: image)
1929
.frame(height: geometry.size.height / 2)
2030
}
2131
}
32+
.ignoresSafeArea()
33+
.safeOverlay(alignment: .bottom) {
34+
Button("Make snapshot via Snapshotter") {
35+
snapshotter.start(overlayHandler: nil) { result in
36+
switch result {
37+
case .success(let image):
38+
self.snapshotterImage = SnapshotterImage(image: image)
39+
case .failure(let error):
40+
print("Failure: \(error)")
41+
}
42+
}
43+
}
44+
.floating()
45+
}
46+
.onAppear {
47+
snapshotter.mapStyle = .standardSatellite
48+
}
49+
.sheet(item: $snapshotterImage) {
50+
Image(uiImage: $0.image)
51+
.resizable()
52+
.scaledToFit()
53+
}
2254
}
2355
}
2456

25-
@available(iOS 13.0, *)
57+
@available(iOS 14.0, *)
2658
struct SnapshotView: View {
2759
var snapshot: UIImage?
2860

@@ -40,7 +72,7 @@ private extension Viewport {
4072
static let helsinkiOverview = Self.overview(geometry: Polygon(center: .helsinki, radius: 10000, vertices: 30))
4173
}
4274

43-
@available(iOS 13.0, *)
75+
@available(iOS 14.0, *)
4476
struct SnapshotMapExample_Preview: PreviewProvider {
4577
static var previews: some View {
4678
SnapshotMapExample()

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Mapbox welcomes participation and contributions from everyone.
44

55
## main
66

7+
## 11.8.0 - 11 November, 2024
8+
79
* Add two separete Geofence examples in SwiftUI - `GeofencingPlayground` and `GeofencingUserLocation`
810

911
## 11.8.0-rc.1 - 23 October, 2024

LICENSE.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MapboxMaps.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |m|
22

3-
maps_version = '11.8.0-rc.1'
3+
maps_version = '11.8.0'
44

55
m.name = 'MapboxMaps'
66
m.version = maps_version
@@ -21,8 +21,8 @@ Pod::Spec.new do |m|
2121
m.source_files = 'Sources/MapboxMaps/**/*.{swift,h}'
2222
m.resource_bundles = { 'MapboxMapsResources' => ['Sources/**/*.{xcassets,strings}', 'Sources/MapboxMaps/MapboxMaps.json', 'Sources/MapboxMaps/PrivacyInfo.xcprivacy'] }
2323

24-
m.dependency 'MapboxCoreMaps', '11.8.0-rc.1'
25-
m.dependency 'MapboxCommon', '24.8.0-rc.1'
24+
m.dependency 'MapboxCoreMaps', '11.8.0'
25+
m.dependency 'MapboxCommon', '24.8.0'
2626
m.dependency 'Turf', '3.0.0'
2727

2828
end

Package.resolved

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import PackageDescription
55
import Foundation
66

7-
let coreMaps = MapsDependency.coreMaps(version: "11.8.0-rc.1")
8-
let common = MapsDependency.common(version: "24.8.0-rc.1")
7+
let coreMaps = MapsDependency.coreMaps(version: "11.8.0")
8+
let common = MapsDependency.common(version: "24.8.0")
99

1010
let mapboxMapsPath: String? = nil
1111

Sources/MapboxMaps/Documentation.docc/Extensions/MapboxMap.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,10 @@
7171
- ``MapboxMap/beginGesture()``
7272
- ``MapboxMap/endGesture()``
7373

74-
### Quering map features
74+
### Querying map features
7575

7676
- ``MapboxMap/queryRenderedFeatures(with:options:completion:)``
77-
- ``MapboxMap/queryRenderedFeatures(with:targets:completion:)``
7877
- ``MapboxMap/querySourceFeatures(for:options:completion:)``
79-
- ``MapboxMap/querySourceFeatures(for:completion:)``
8078
- ``MapboxMap/getGeoJsonClusterLeaves(forSourceId:feature:limit:offset:completion:)``
8179
- ``MapboxMap/getGeoJsonClusterChildren(forSourceId:feature:completion:)``
8280
- ``MapboxMap/getGeoJsonClusterExpansionZoom(forSourceId:feature:completion:)``

Sources/MapboxMaps/Foundation/CoreAliases.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ typealias CoreInteractionHandler = MapboxCoreMaps_Private.InteractionHandler
4444
typealias CoreRenderedQueryGeometry = MapboxCoreMaps_Private.RenderedQueryGeometry
4545
typealias CoreFeaturesetFeatureId = MapboxCoreMaps_Private.FeaturesetFeatureId
4646
typealias CoreFeaturesetQueryTarget = MapboxCoreMaps_Private.FeaturesetQueryTarget
47-
typealias CoreFeaturesetDescriptor = MapboxCoreMaps.FeaturesetDescriptor // TODO: This will be moved to _Private in Core
47+
typealias CoreFeaturesetDescriptor = MapboxCoreMaps_Private.FeaturesetDescriptor

Sources/MapboxMaps/Foundation/MapboxMap.swift

Lines changed: 5 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,42 +1061,11 @@ extension MapboxMap: MapFeatureQueryable {
10611061
concreteErrorType: MapError.self))
10621062
}
10631063

1064-
/// Queries the map for rendered features using featureset descriptors.
1065-
///
1066-
/// This method allows to query both featureset from imported styles and user layers in the root style.
1067-
/// The results can be additionally filtered per-featureset.
1068-
///
1069-
/// ```swift
1070-
/// let targets = [
1071-
/// FeaturesetQueryTarget(
1072-
/// featureset: .layer("my-layer"),
1073-
/// filter: Exp(.eq) {
1074-
/// Exp(.get) { "type" }
1075-
/// "hotel"
1076-
/// }
1077-
/// ),
1078-
/// FeaturesetQueryTarget(featureset: .featureset("poi", importId: "basemap"))
1079-
/// ]
1080-
/// mapView.mapboxMap.queryRenderedFeatures(with: CGPoint(x: 0, y: 0),
1081-
/// targets: targets) { result in
1082-
/// // handle features in result
1083-
/// }
1084-
/// ```
1085-
///
1086-
/// - Important: This is a low-level method. If you need to handle basic gestures on map content, please prefer to use Interactions API (see ``MapboxMap/addInteraction(_:)``) or ``MapboxMap/queryRenderedFeatures(with:featureset:filter:completion:)``.
1087-
///
1088-
/// - Parameters:
1089-
/// - geometry: A screen geometry to query. Can be a `CGPoint`, `CGRect`, or an array of `CGPoint`.
1090-
/// - targets: An array of targets to query with.
1091-
/// - completion: Callback called when the query completes.
1092-
@_spi(Experimental)
1093-
@_documentation(visibility: public)
1094-
@discardableResult
1095-
public func queryRenderedFeatures(with geometry: some RenderedQueryGeometryConvertible,
1096-
targets: [FeaturesetQueryTarget],
1097-
completion: @escaping (Result<[QueriedRenderedFeature], Error>) -> Void) -> Cancelable {
1064+
private func queryRenderedFeatures(with geometry: some RenderedQueryGeometryConvertible,
1065+
targets: [CoreFeaturesetQueryTarget],
1066+
completion: @escaping (Result<[QueriedRenderedFeature], Error>) -> Void) -> Cancelable {
10981067
return __map.__queryRenderedFeatures(for: geometry.geometry.core,
1099-
targets: targets.map(\.core),
1068+
targets: targets,
11001069
callback: coreAPIClosureAdapter(for: completion,
11011070
type: NSArray.self,
11021071
concreteErrorType: MapError.self))
@@ -1133,7 +1102,7 @@ extension MapboxMap: MapFeatureQueryable {
11331102
queryRenderedFeatures(
11341103
with: geometry,
11351104
targets: [
1136-
FeaturesetQueryTarget(featureset: featureset, filter: filter)
1105+
CoreFeaturesetQueryTarget(featureset: featureset.core, filter: filter?.asCore, id: nil)
11371106
]) { result in
11381107
completion(result.map({ features in
11391108
features.compactMap {
@@ -1187,22 +1156,6 @@ extension MapboxMap: MapFeatureQueryable {
11871156
concreteErrorType: MapError.self))
11881157
}
11891158

1190-
/// Queries the source features for a given featureset.
1191-
///
1192-
/// - Parameters:
1193-
/// - target: A featureset query target.
1194-
/// - completion: Callback called when the query completes.
1195-
@_spi(Experimental)
1196-
@_documentation(visibility: public)
1197-
@discardableResult
1198-
public func querySourceFeatures(for target: FeaturesetQueryTarget,
1199-
completion: @escaping (Result<[QueriedSourceFeature], Error>) -> Void) -> Cancelable {
1200-
return __map.__querySourceFeatures(for: target.core,
1201-
callback: coreAPIClosureAdapter(for: completion,
1202-
type: NSArray.self,
1203-
concreteErrorType: MapError.self))
1204-
}
1205-
12061159
/// Returns all the leaves (original points) of a cluster (given its cluster_id) from a GeoJSON source, with pagination support: limit is the number of leaves
12071160
/// to return (set to Infinity for all points), and offset is the amount of points to skip (for pagination).
12081161
///

0 commit comments

Comments
 (0)