@rnmapbox/maps 10.1.0-rc.2 → 10.1.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +11 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerView.kt +11 -3
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContent.kt +16 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +5 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModuleLegacy.kt +444 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Annotation.kt +4 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Annotation.kt +0 -1
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +3 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +1 -0
- package/ios/RNMBX/RNMBXMarkerView.swift +10 -1
- package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +4 -0
- package/ios/RNMBX/RNMBXMarkerViewManager.m +1 -0
- package/ios/RNMBX/RNMBXOfflineModule.m +1 -1
- package/ios/RNMBX/RNMBXOfflineModuleLegacy.m +33 -0
- package/ios/RNMBX/RNMBXOfflineModuleLegacy.swift +431 -0
- package/lib/commonjs/Mapbox.js +8 -0
- package/lib/commonjs/Mapbox.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js +2 -0
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflinePackLegacy.js +40 -0
- package/lib/commonjs/modules/offline/OfflinePackLegacy.js.map +1 -0
- package/lib/commonjs/modules/offline/offlineManager.js +4 -4
- package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
- package/lib/commonjs/modules/offline/offlineManagerLegacy.js +166 -0
- package/lib/commonjs/modules/offline/offlineManagerLegacy.js.map +1 -0
- package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- package/lib/module/Mapbox.js +1 -0
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/components/MarkerView.js +2 -0
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/modules/offline/OfflinePackLegacy.js +34 -0
- package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -0
- package/lib/module/modules/offline/offlineManager.js +4 -4
- package/lib/module/modules/offline/offlineManager.js.map +1 -1
- package/lib/module/modules/offline/offlineManagerLegacy.js +154 -0
- package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -0
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- package/lib/typescript/src/Mapbox.d.ts +1 -0
- package/lib/typescript/src/Mapbox.d.ts.map +1 -1
- package/lib/typescript/src/components/Images.d.ts +1 -1
- package/lib/typescript/src/components/MapView.d.ts +1 -1
- package/lib/typescript/src/components/MarkerView.d.ts +5 -0
- package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
- package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts +24 -0
- package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts.map +1 -0
- package/lib/typescript/src/modules/offline/offlineManager.d.ts +1 -1
- package/lib/typescript/src/modules/offline/offlineManager.d.ts.map +1 -1
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts +93 -0
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +1 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -1
- package/package.json +3 -2
- package/setup-jest.js +15 -0
- package/src/Mapbox.ts +1 -0
- package/src/components/Images.tsx +1 -1
- package/src/components/MapView.tsx +1 -1
- package/src/components/MarkerView.tsx +8 -0
- package/src/modules/offline/OfflinePackLegacy.ts +55 -0
- package/src/modules/offline/offlineManager.ts +4 -4
- package/src/modules/offline/offlineManagerLegacy.ts +181 -0
- package/src/specs/RNMBXMarkerViewNativeComponent.ts +1 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#import "React/RCTBridgeModule.h"
|
|
2
|
+
#import <React/RCTEventEmitter.h>
|
|
3
|
+
|
|
4
|
+
@interface RCT_EXTERN_MODULE(RNMBXOfflineModuleLegacy, RCTEventEmitter<RCTBridgeModule>)
|
|
5
|
+
|
|
6
|
+
RCT_EXTERN_METHOD(getPacks:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
7
|
+
RCT_EXTERN_METHOD(createPack:(NSDictionary *) options resolver: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
8
|
+
|
|
9
|
+
RCT_EXTERN_METHOD(resumePackDownload:(NSString *)name
|
|
10
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
11
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
12
|
+
|
|
13
|
+
RCT_EXTERN_METHOD(pausePackDownload:(NSString *)name
|
|
14
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
15
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
16
|
+
|
|
17
|
+
RCT_EXTERN_METHOD(getPackStatus:(NSString *)name
|
|
18
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
19
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
20
|
+
|
|
21
|
+
RCT_EXTERN_METHOD(deletePack:(NSString *)name
|
|
22
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
23
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
24
|
+
|
|
25
|
+
RCT_EXTERN_METHOD(invalidatePack:(NSString *)name
|
|
26
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
27
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
28
|
+
|
|
29
|
+
RCT_EXTERN_METHOD(migrateOfflineCache:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
30
|
+
|
|
31
|
+
RCT_EXTERN_METHOD(resetDatabase:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
32
|
+
|
|
33
|
+
@end
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import MapboxMaps
|
|
3
|
+
|
|
4
|
+
@objc(RNMBXOfflineModuleLegacy)
|
|
5
|
+
class RNMBXOfflineModuleLegacy: RCTEventEmitter {
|
|
6
|
+
final let CompleteRegionDownloadState = 2
|
|
7
|
+
|
|
8
|
+
lazy var offlineRegionManager: OfflineRegionManager = {
|
|
9
|
+
#if RNMBX_11
|
|
10
|
+
return OfflineRegionManager()
|
|
11
|
+
#else
|
|
12
|
+
return OfflineRegionManager(resourceOptions: .init(accessToken: RNMBXModule.accessToken!))
|
|
13
|
+
#endif
|
|
14
|
+
}()
|
|
15
|
+
|
|
16
|
+
@objc
|
|
17
|
+
override
|
|
18
|
+
func supportedEvents() -> [String] {
|
|
19
|
+
return []
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@objc
|
|
23
|
+
override
|
|
24
|
+
static func requiresMainQueueSetup() -> Bool {
|
|
25
|
+
return true
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
private func makeRegionStatusPayload(name: String, status: OfflineRegionStatus) -> [String:Any?] {
|
|
29
|
+
let progressPercentage = status.requiredResourceCount > 0 ? Double(status.completedResourceCount) / Double(status.requiredResourceCount) : 0
|
|
30
|
+
let percentage = min(ceil(Double(progressPercentage) * 100.0), 100.0)
|
|
31
|
+
let isCompleted = percentage == 100.0
|
|
32
|
+
let state = isCompleted ? CompleteRegionDownloadState : status.downloadState.rawValue
|
|
33
|
+
let result: [String:Any?] = [
|
|
34
|
+
"state": state,
|
|
35
|
+
"name": name,
|
|
36
|
+
"percentage": percentage,
|
|
37
|
+
"completedResourceCount": status.completedResourceCount,
|
|
38
|
+
"completedResourceSize": status.completedResourceSize,
|
|
39
|
+
"completedTileSize": status.completedTileSize,
|
|
40
|
+
"completedTileCount": status.completedTileCount,
|
|
41
|
+
"requiredResourceCount": status.requiredResourceCount
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
return result
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
func convertPointPairToBounds(_ bounds: Geometry) -> CoordinateBounds? {
|
|
49
|
+
guard case .geometryCollection(let gc) = bounds else {
|
|
50
|
+
return nil
|
|
51
|
+
}
|
|
52
|
+
let geometries = gc.geometries
|
|
53
|
+
|
|
54
|
+
guard geometries.count == 2 else {
|
|
55
|
+
return nil
|
|
56
|
+
}
|
|
57
|
+
guard case .point(let g0) = geometries[0] else {
|
|
58
|
+
return nil
|
|
59
|
+
}
|
|
60
|
+
guard case .point(let g1) = geometries[1] else {
|
|
61
|
+
return nil
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
let pt0 = CLLocationCoordinate2D(latitude: g0.coordinates.latitude, longitude: g0.coordinates.longitude)
|
|
65
|
+
let pt1 = CLLocationCoordinate2D(latitude: g1.coordinates.latitude, longitude: g1.coordinates.longitude)
|
|
66
|
+
|
|
67
|
+
return CoordinateBounds(southwest: pt0, northeast: pt1)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
func convertRegionToPack(region: OfflineRegion) -> [String: Any]? {
|
|
71
|
+
var metadataString: String?
|
|
72
|
+
|
|
73
|
+
guard let bb = region.getTilePyramidDefinition()?.bounds else { return [:] }
|
|
74
|
+
|
|
75
|
+
do {
|
|
76
|
+
let metadata = region.getMetadata()
|
|
77
|
+
|
|
78
|
+
metadataString = String(data: metadata, encoding: .utf8)
|
|
79
|
+
|
|
80
|
+
if (metadataString == nil) {
|
|
81
|
+
// Handle archived data from V9
|
|
82
|
+
metadataString = NSKeyedUnarchiver.unarchiveObject(with: metadata) as? String
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
let jsonBounds = [
|
|
87
|
+
[bb.east, bb.north],
|
|
88
|
+
[bb.west, bb.south]
|
|
89
|
+
]
|
|
90
|
+
|
|
91
|
+
let pack: [String: Any] = [
|
|
92
|
+
"metadata": metadataString,
|
|
93
|
+
"bounds": jsonBounds
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
return pack
|
|
97
|
+
} catch {
|
|
98
|
+
print("convertRegionToPack error: \(error)")
|
|
99
|
+
return nil
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
func createPackCallback(region: OfflineRegion,
|
|
104
|
+
metadata: Data,
|
|
105
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
106
|
+
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
107
|
+
|
|
108
|
+
region.setOfflineRegionDownloadStateFor(.active)
|
|
109
|
+
region.setMetadata(metadata) { [weak self] result in
|
|
110
|
+
switch result {
|
|
111
|
+
case let .failure(error):
|
|
112
|
+
print("Error creating offline region: \(error)")
|
|
113
|
+
rejecter("createPack error:", error.localizedDescription, error)
|
|
114
|
+
|
|
115
|
+
case .success():
|
|
116
|
+
resolver(self?.convertRegionToPack(region: region))
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
func getRegionByName(name: String, offlineRegions: [OfflineRegion]) -> OfflineRegion? {
|
|
122
|
+
for region in offlineRegions {
|
|
123
|
+
var metadata:[String: Any] = [:]
|
|
124
|
+
|
|
125
|
+
do {
|
|
126
|
+
let byteMetadata = region.getMetadata()
|
|
127
|
+
|
|
128
|
+
// Handle archived data from V9
|
|
129
|
+
let metadataString = NSKeyedUnarchiver.unarchiveObject(with: byteMetadata) as? String
|
|
130
|
+
|
|
131
|
+
if (metadataString != nil) {
|
|
132
|
+
let data = metadataString!.data(using: .utf8)
|
|
133
|
+
metadata = try JSONSerialization.jsonObject(with: data!, options: []) as! [String: Any]
|
|
134
|
+
} else {
|
|
135
|
+
metadata = try JSONSerialization.jsonObject(with: byteMetadata, options: []) as! [String:Any]
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (name == metadata["name"] as! String) {
|
|
139
|
+
return region
|
|
140
|
+
}
|
|
141
|
+
} catch {
|
|
142
|
+
print("getRegionByName error: \(error)")
|
|
143
|
+
return nil
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return nil
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// MARK: react methods
|
|
151
|
+
|
|
152
|
+
@objc
|
|
153
|
+
func createPack(_ options: NSDictionary, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
154
|
+
DispatchQueue.main.async {
|
|
155
|
+
do {
|
|
156
|
+
let metadataStr = options["metadata"] as! String
|
|
157
|
+
let styleURL = options["styleURL"] as! String
|
|
158
|
+
|
|
159
|
+
let boundsStr = options["bounds"] as! String
|
|
160
|
+
let boundsData = boundsStr.data(using: .utf8)
|
|
161
|
+
var boundsFC = try JSONDecoder().decode(FeatureCollection.self, from: boundsData!)
|
|
162
|
+
|
|
163
|
+
guard let bounds = self.convertPointPairToBounds(RNMBXFeatureUtils.fcToGeomtry(boundsFC)),
|
|
164
|
+
let metadataBytes = metadataStr.data(using: .utf8)
|
|
165
|
+
else {
|
|
166
|
+
rejecter("createPack error:", "No metadata or bounds set", nil)
|
|
167
|
+
return
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
let offlineRegionDef = OfflineRegionTilePyramidDefinition(
|
|
171
|
+
styleURL: styleURL,
|
|
172
|
+
bounds: bounds,
|
|
173
|
+
minZoom: options["minZoom"] as! Double,
|
|
174
|
+
maxZoom: options["maxZoom"] as! Double,
|
|
175
|
+
pixelRatio: Float(UIScreen.main.scale),
|
|
176
|
+
glyphsRasterizationMode: .ideographsRasterizedLocally)
|
|
177
|
+
|
|
178
|
+
self.offlineRegionManager.createOfflineRegion(for: offlineRegionDef) { [weak self] result in
|
|
179
|
+
switch result {
|
|
180
|
+
case let .failure(error):
|
|
181
|
+
print("Error creating offline region: \(error)")
|
|
182
|
+
rejecter("createPack", error.localizedDescription, error)
|
|
183
|
+
|
|
184
|
+
case let .success(region):
|
|
185
|
+
self?.createPackCallback(region: region,
|
|
186
|
+
metadata: metadataBytes,
|
|
187
|
+
resolver: resolver,
|
|
188
|
+
rejecter: rejecter)
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
} catch {
|
|
192
|
+
rejecter("createPack", error.localizedDescription, error)
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@objc
|
|
198
|
+
func getPacks(_ resolve : @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
199
|
+
DispatchQueue.main.async {
|
|
200
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
201
|
+
switch result {
|
|
202
|
+
case .success(let regions):
|
|
203
|
+
var payload = [[String: Any]]()
|
|
204
|
+
|
|
205
|
+
for region in regions {
|
|
206
|
+
if let pack = self.convertRegionToPack(region: region) {
|
|
207
|
+
payload.append(pack)
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
resolve(payload)
|
|
212
|
+
case .failure(let error):
|
|
213
|
+
rejecter("getPacks error", error.localizedDescription, error)
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
@objc
|
|
220
|
+
func deletePack(_ name: String,
|
|
221
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
222
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
223
|
+
{
|
|
224
|
+
DispatchQueue.main.async {
|
|
225
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
226
|
+
switch result {
|
|
227
|
+
case .success(let regions):
|
|
228
|
+
guard let region = self.getRegionByName(name: name, offlineRegions: regions) else {
|
|
229
|
+
resolver(nil);
|
|
230
|
+
print("deleteRegion - Unknown offline region");
|
|
231
|
+
return
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
region.setOfflineRegionDownloadStateFor(.inactive)
|
|
235
|
+
region.purge { result in
|
|
236
|
+
switch result {
|
|
237
|
+
case let .failure(error):
|
|
238
|
+
rejecter("deleteRegion error", error.localizedDescription, error)
|
|
239
|
+
|
|
240
|
+
case .success:
|
|
241
|
+
print("deleteRegion done");
|
|
242
|
+
resolver(nil);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
case .failure(let error):
|
|
246
|
+
rejecter("deleteRegion error", error.localizedDescription, error)
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@objc
|
|
253
|
+
func invalidatePack(_ name: String,
|
|
254
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
255
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
256
|
+
{
|
|
257
|
+
DispatchQueue.main.async {
|
|
258
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
259
|
+
switch result {
|
|
260
|
+
case .success(let regions):
|
|
261
|
+
guard let region = self.getRegionByName(name: name, offlineRegions: regions) else {
|
|
262
|
+
resolver(nil);
|
|
263
|
+
print("invalidatePack - Unknown offline region");
|
|
264
|
+
return
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
region.invalidate { result in
|
|
268
|
+
switch result {
|
|
269
|
+
case let .failure(error):
|
|
270
|
+
rejecter("invalidatePack error", error.localizedDescription, error)
|
|
271
|
+
|
|
272
|
+
case .success:
|
|
273
|
+
print("invalidatePack done");
|
|
274
|
+
resolver(nil);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
case .failure(let error):
|
|
278
|
+
rejecter("invalidatePack error", error.localizedDescription, error)
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@objc
|
|
285
|
+
func getPackStatus(_ name: String,
|
|
286
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
287
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
288
|
+
{
|
|
289
|
+
DispatchQueue.main.async {
|
|
290
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
291
|
+
switch result {
|
|
292
|
+
case .success(let regions):
|
|
293
|
+
guard let region = self.getRegionByName(name: name, offlineRegions: regions) else {
|
|
294
|
+
resolver(nil);
|
|
295
|
+
print("getPackStatus - Unknown offline region");
|
|
296
|
+
return
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
region.getStatus { result in
|
|
300
|
+
switch result {
|
|
301
|
+
case let .success(status):
|
|
302
|
+
print("getPackStatus done");
|
|
303
|
+
resolver(self.makeRegionStatusPayload(name: name, status: status));
|
|
304
|
+
|
|
305
|
+
case let .failure(error):
|
|
306
|
+
rejecter("getPackStatus error", error.localizedDescription, error)
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
case .failure(let error):
|
|
310
|
+
rejecter("getPackStatus error", error.localizedDescription, error)
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
@objc
|
|
317
|
+
func pausePackDownload(_ name: String,
|
|
318
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
319
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
320
|
+
{
|
|
321
|
+
DispatchQueue.main.async {
|
|
322
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
323
|
+
switch result {
|
|
324
|
+
case .success(let regions):
|
|
325
|
+
guard let region = self.getRegionByName(name: name, offlineRegions: regions) else {
|
|
326
|
+
resolver(nil);
|
|
327
|
+
print("pausePackDownload - Unknown offline region");
|
|
328
|
+
return
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
region.setOfflineRegionDownloadStateFor(.inactive)
|
|
332
|
+
resolver(nil);
|
|
333
|
+
|
|
334
|
+
case .failure(let error):
|
|
335
|
+
rejecter("pausePackDownload error", error.localizedDescription, error)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
@objc
|
|
342
|
+
func resumePackDownload(_ name: String,
|
|
343
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
344
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
345
|
+
{
|
|
346
|
+
DispatchQueue.main.async {
|
|
347
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
348
|
+
switch result {
|
|
349
|
+
case .success(let regions):
|
|
350
|
+
guard let region = self.getRegionByName(name: name, offlineRegions: regions) else {
|
|
351
|
+
resolver(nil);
|
|
352
|
+
print("resumePackDownload - Unknown offline region");
|
|
353
|
+
return
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
region.setOfflineRegionDownloadStateFor(.active)
|
|
357
|
+
resolver(nil);
|
|
358
|
+
|
|
359
|
+
case .failure(let error):
|
|
360
|
+
rejecter("resumePackDownload error", error.localizedDescription, error)
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
@objc
|
|
367
|
+
func resetDatabase(_ resolver: @escaping RCTPromiseResolveBlock,
|
|
368
|
+
rejecter: @escaping RCTPromiseRejectBlock)
|
|
369
|
+
{
|
|
370
|
+
print("resetDatabase started");
|
|
371
|
+
DispatchQueue.main.async {
|
|
372
|
+
var purgedCount = 0
|
|
373
|
+
self.offlineRegionManager.offlineRegions { result in
|
|
374
|
+
switch result {
|
|
375
|
+
case .success(let regions):
|
|
376
|
+
if (regions.count == 0) {resolver(nil);}
|
|
377
|
+
|
|
378
|
+
for region in regions {
|
|
379
|
+
region.setOfflineRegionDownloadStateFor(.inactive)
|
|
380
|
+
region.purge { result in
|
|
381
|
+
switch result {
|
|
382
|
+
case let .failure(error):
|
|
383
|
+
rejecter("resetDatabase error", error.localizedDescription, error)
|
|
384
|
+
|
|
385
|
+
case .success:
|
|
386
|
+
print("pack purged");
|
|
387
|
+
purgedCount += 1
|
|
388
|
+
if purgedCount == regions.count {
|
|
389
|
+
print("resetDatabase done: \(regions.count) where purged");
|
|
390
|
+
resolver(nil);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
case .failure(let error):
|
|
399
|
+
rejecter("resetDatabase error", error.localizedDescription, error)
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
@objc
|
|
407
|
+
func migrateOfflineCache(_ resolve : @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
408
|
+
let bundleIdentifier = Bundle.main.bundleIdentifier!
|
|
409
|
+
|
|
410
|
+
let srcPath = "\(NSHomeDirectory())/Library/Application Support/\(bundleIdentifier)/.mapbox/cache.db"
|
|
411
|
+
let srcURL = URL(fileURLWithPath: NSHomeDirectory()).appendingPathComponent("Library/Application Support/\(bundleIdentifier)/.mapbox/cache.db")
|
|
412
|
+
let destURL = URL(fileURLWithPath: NSHomeDirectory()).appendingPathComponent("Library/Application Support/.mapbox/map_data/map_data.db")
|
|
413
|
+
|
|
414
|
+
let fileManager = FileManager.default
|
|
415
|
+
|
|
416
|
+
if (!fileManager.fileExists(atPath: srcPath)) {
|
|
417
|
+
print("migrateOfflineCache: nothing to migrate")
|
|
418
|
+
resolve(false)
|
|
419
|
+
return
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
do {
|
|
423
|
+
try fileManager.createDirectory(at: destURL.deletingLastPathComponent(), withIntermediateDirectories: true, attributes: nil)
|
|
424
|
+
try fileManager.moveItem(at: srcURL, to: destURL)
|
|
425
|
+
print("migrateOfflineCache done:")
|
|
426
|
+
resolve(true)
|
|
427
|
+
} catch {
|
|
428
|
+
reject("migrateOfflineCache error:", error.localizedDescription, error)
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
package/lib/commonjs/Mapbox.js
CHANGED
|
@@ -45,6 +45,7 @@ var _exportNames = {
|
|
|
45
45
|
locationManager: true,
|
|
46
46
|
offlineManager: true,
|
|
47
47
|
OfflineCreatePackOptions: true,
|
|
48
|
+
offlineManagerLegacy: true,
|
|
48
49
|
snapshotManager: true,
|
|
49
50
|
MarkerView: true,
|
|
50
51
|
Animated: true,
|
|
@@ -339,6 +340,12 @@ Object.defineProperty(exports, "offlineManager", {
|
|
|
339
340
|
return _offlineManager.default;
|
|
340
341
|
}
|
|
341
342
|
});
|
|
343
|
+
Object.defineProperty(exports, "offlineManagerLegacy", {
|
|
344
|
+
enumerable: true,
|
|
345
|
+
get: function () {
|
|
346
|
+
return _offlineManagerLegacy.default;
|
|
347
|
+
}
|
|
348
|
+
});
|
|
342
349
|
Object.defineProperty(exports, "requestAndroidLocationPermissions", {
|
|
343
350
|
enumerable: true,
|
|
344
351
|
get: function () {
|
|
@@ -396,6 +403,7 @@ var _CustomLocationProvider = _interopRequireDefault(require("./components/Custo
|
|
|
396
403
|
var _Terrain = require("./components/Terrain");
|
|
397
404
|
var _locationManager = _interopRequireDefault(require("./modules/location/locationManager"));
|
|
398
405
|
var _offlineManager = _interopRequireWildcard(require("./modules/offline/offlineManager"));
|
|
406
|
+
var _offlineManagerLegacy = _interopRequireDefault(require("./modules/offline/offlineManagerLegacy"));
|
|
399
407
|
var _snapshotManager = _interopRequireDefault(require("./modules/snapshot/snapshotManager"));
|
|
400
408
|
var _MarkerView = _interopRequireDefault(require("./components/MarkerView"));
|
|
401
409
|
var _Animated = _interopRequireDefault(require("./utils/animated/Animated"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNMBXModule","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Camera","_Atmosphere","_MapView","_interopRequireDefault","_Light","_PointAnnotation","_Annotation","_Callout","_StyleImport","_UserLocation","_interopRequireWildcard","_LocationPuck","_VectorSource","_ShapeSource","_RasterSource","_RasterDemSource","_ImageSource","_Viewport","_Models","_Images","_Image","_FillLayer","_FillExtrusionLayer","_HeatmapLayer","_LineLayer","_CircleLayer","_SkyLayer","_ModelLayer","_SymbolLayer","_RasterLayer","_BackgroundLayer","_CustomLocationProvider","_Terrain","_locationManager","_offlineManager","_snapshotManager","_MarkerView","_Animated","_classes","_Style","_Logger","_requestAndroidLocationPermissions","_getAnnotationsLayerID","_deprecation","_MovePointShapeAnimator","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","obj","AnimatedMapPoint","deprecatedClass","AnimatedPoint","NativeUserLocation","LocationPuck","StyleURL","UserTrackingModes","UserTrackingMode","__experimental","MovePointShapeAnimator"],"sourceRoot":"../../src","sources":["Mapbox.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_RNMBXModule","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Camera","_Atmosphere","_MapView","_interopRequireDefault","_Light","_PointAnnotation","_Annotation","_Callout","_StyleImport","_UserLocation","_interopRequireWildcard","_LocationPuck","_VectorSource","_ShapeSource","_RasterSource","_RasterDemSource","_ImageSource","_Viewport","_Models","_Images","_Image","_FillLayer","_FillExtrusionLayer","_HeatmapLayer","_LineLayer","_CircleLayer","_SkyLayer","_ModelLayer","_SymbolLayer","_RasterLayer","_BackgroundLayer","_CustomLocationProvider","_Terrain","_locationManager","_offlineManager","_offlineManagerLegacy","_snapshotManager","_MarkerView","_Animated","_classes","_Style","_Logger","_requestAndroidLocationPermissions","_getAnnotationsLayerID","_deprecation","_MovePointShapeAnimator","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","obj","AnimatedMapPoint","deprecatedClass","AnimatedPoint","NativeUserLocation","LocationPuck","StyleURL","UserTrackingModes","UserTrackingMode","__experimental","MovePointShapeAnimator"],"sourceRoot":"../../src","sources":["Mapbox.ts"],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ class MarkerView extends _react.default.PureComponent {
|
|
|
34
34
|
y: 0.5
|
|
35
35
|
},
|
|
36
36
|
allowOverlap: false,
|
|
37
|
+
allowOverlapWithPuck: false,
|
|
37
38
|
isSelected: false
|
|
38
39
|
};
|
|
39
40
|
static lastId = 0;
|
|
@@ -73,6 +74,7 @@ class MarkerView extends _react.default.PureComponent {
|
|
|
73
74
|
coordinate: this._getCoordinate(this.props.coordinate),
|
|
74
75
|
anchor: anchor,
|
|
75
76
|
allowOverlap: this.props.allowOverlap,
|
|
77
|
+
allowOverlapWithPuck: this.props.allowOverlapWithPuck,
|
|
76
78
|
isSelected: this.props.isSelected,
|
|
77
79
|
onTouchEnd: e => {
|
|
78
80
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_geoUtils","_RNMBXMarkerViewNativeComponent","_RNMBXMarkerViewContentNativeComponent","_PointAnnotation","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Mapbox","NativeModules","RNMBXModule","MarkerView","React","PureComponent","defaultProps","anchor","x","y","allowOverlap","isSelected","lastId","_idForPointAnnotation","__idForPointAnnotation","undefined","_getCoordinate","coordinate","toJSONString","makePoint","render","props","console","warn","Platform","OS","MapboxV10","createElement","id","RNMBXMarkerView","style","flex","alignSelf","onTouchEnd","e","stopPropagation","onStartShouldSetResponder","_event","children","NativeMarkerViewComponent","_default","exports"],"sourceRoot":"../../../src","sources":["components/MarkerView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,+BAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,sCAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,gBAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEhD,MAAMQ,MAAM,GAAGC,0BAAa,CAACC,WAAW;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_geoUtils","_RNMBXMarkerViewNativeComponent","_RNMBXMarkerViewContentNativeComponent","_PointAnnotation","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Mapbox","NativeModules","RNMBXModule","MarkerView","React","PureComponent","defaultProps","anchor","x","y","allowOverlap","allowOverlapWithPuck","isSelected","lastId","_idForPointAnnotation","__idForPointAnnotation","undefined","_getCoordinate","coordinate","toJSONString","makePoint","render","props","console","warn","Platform","OS","MapboxV10","createElement","id","RNMBXMarkerView","style","flex","alignSelf","onTouchEnd","e","stopPropagation","onStartShouldSetResponder","_event","children","NativeMarkerViewComponent","_default","exports"],"sourceRoot":"../../../src","sources":["components/MarkerView.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const MapboxGLOfflineManager = _reactNative.NativeModules.RNMBXOfflineModuleLegacy;
|
|
9
|
+
class OfflinePackLegacy {
|
|
10
|
+
constructor(pack) {
|
|
11
|
+
this.pack = pack;
|
|
12
|
+
this._metadata = null;
|
|
13
|
+
}
|
|
14
|
+
get name() {
|
|
15
|
+
const {
|
|
16
|
+
metadata
|
|
17
|
+
} = this;
|
|
18
|
+
return metadata && metadata.name;
|
|
19
|
+
}
|
|
20
|
+
get bounds() {
|
|
21
|
+
return this.pack.bounds;
|
|
22
|
+
}
|
|
23
|
+
get metadata() {
|
|
24
|
+
if (!this._metadata && this.pack.metadata) {
|
|
25
|
+
this._metadata = JSON.parse(this.pack.metadata);
|
|
26
|
+
}
|
|
27
|
+
return this._metadata;
|
|
28
|
+
}
|
|
29
|
+
status() {
|
|
30
|
+
return MapboxGLOfflineManager.getPackStatus(this.name);
|
|
31
|
+
}
|
|
32
|
+
resume() {
|
|
33
|
+
return MapboxGLOfflineManager.resumePackDownload(this.name);
|
|
34
|
+
}
|
|
35
|
+
pause() {
|
|
36
|
+
return MapboxGLOfflineManager.pausePackDownload(this.name);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
var _default = exports.default = OfflinePackLegacy;
|
|
40
|
+
//# sourceMappingURL=OfflinePackLegacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","MapboxGLOfflineManager","NativeModules","RNMBXOfflineModuleLegacy","OfflinePackLegacy","constructor","pack","_metadata","name","metadata","bounds","JSON","parse","status","getPackStatus","resume","resumePackDownload","pause","pausePackDownload","_default","exports","default"],"sourceRoot":"../../../../src","sources":["modules/offline/OfflinePackLegacy.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,MAAMC,sBAAsB,GAAGC,0BAAa,CAACC,wBAAwB;AAarE,MAAMC,iBAAiB,CAAC;EAGtBC,WAAWA,CAACC,IAA8B,EAAE;IAC1C,IAAI,CAACA,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,SAAS,GAAG,IAAI;EACvB;EAEA,IAAIC,IAAIA,CAAA,EAAG;IACT,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI;IACzB,OAAOA,QAAQ,IAAIA,QAAQ,CAACD,IAAI;EAClC;EAEA,IAAIE,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACJ,IAAI,CAACI,MAAM;EACzB;EAEA,IAAID,QAAQA,CAAA,EAAG;IACb,IAAI,CAAC,IAAI,CAACF,SAAS,IAAI,IAAI,CAACD,IAAI,CAACG,QAAQ,EAAE;MACzC,IAAI,CAACF,SAAS,GAAGI,IAAI,CAACC,KAAK,CAAC,IAAI,CAACN,IAAI,CAACG,QAAQ,CAAC;IACjD;IACA,OAAO,IAAI,CAACF,SAAS;EACvB;EAEAM,MAAMA,CAAA,EAA+B;IACnC,OAAOZ,sBAAsB,CAACa,aAAa,CAAC,IAAI,CAACN,IAAI,CAAC;EACxD;EAEAO,MAAMA,CAAA,EAAkB;IACtB,OAAOd,sBAAsB,CAACe,kBAAkB,CAAC,IAAI,CAACR,IAAI,CAAC;EAC7D;EAEAS,KAAKA,CAAA,EAAkB;IACrB,OAAOhB,sBAAsB,CAACiB,iBAAiB,CAAC,IAAI,CAACV,IAAI,CAAC;EAC5D;AACF;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcjB,iBAAiB"}
|
|
@@ -163,7 +163,6 @@ class OfflineManager {
|
|
|
163
163
|
* @return {void}
|
|
164
164
|
*/
|
|
165
165
|
async migrateOfflineCache() {
|
|
166
|
-
await this._initialize();
|
|
167
166
|
await MapboxOfflineManager.migrateOfflineCache();
|
|
168
167
|
}
|
|
169
168
|
|
|
@@ -191,8 +190,9 @@ class OfflineManager {
|
|
|
191
190
|
* @return {void}
|
|
192
191
|
*/
|
|
193
192
|
async resetDatabase() {
|
|
194
|
-
await this._initialize();
|
|
195
193
|
await MapboxOfflineManager.resetDatabase();
|
|
194
|
+
this._offlinePacks = {};
|
|
195
|
+
await this._initialize(true);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
/**
|
|
@@ -326,8 +326,8 @@ class OfflineManager {
|
|
|
326
326
|
this.subscriptionError.remove();
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
|
-
async _initialize() {
|
|
330
|
-
if (this._hasInitialized) {
|
|
329
|
+
async _initialize(forceInit) {
|
|
330
|
+
if (this._hasInitialized && !forceInit) {
|
|
331
331
|
return true;
|
|
332
332
|
}
|
|
333
333
|
const nativeOfflinePacks = await MapboxOfflineManager.getPacks();
|