@rnmapbox/maps 10.2.6 → 10.2.8
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/build.gradle +9 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +8 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +7 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +180 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt +4 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/CustomHttpHeaders.kt +31 -9
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXModule.kt +15 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModuleLegacy.kt +10 -0
- package/android/src/main/mapbox-v11-compat/v10/com/mapbox/maps/extension/style/layers/generated/RasterParticleLayer.kt +58 -0
- package/android/src/main/mapbox-v11-compat/v10/com/mapbox/maps/extension/style/sources/generated/RasterArraySource.kt +20 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterParticleLayer.kt +22 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterParticleLayerManager.kt +59 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterArraySource.kt +16 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterArraySourceManager.kt +59 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +45 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterParticleLayer.kt +38 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterParticleLayerManager.kt +85 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterArraySource.kt +41 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterArraySourceManager.kt +76 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterArraySourceManagerDelegate.java +54 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterArraySourceManagerInterface.java +23 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterParticleLayerManagerDelegate.java +66 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterParticleLayerManagerInterface.java +27 -0
- package/ios/RNMBX/CustomHttpHeaders.swift +36 -7
- package/ios/RNMBX/Offline/RNMBXOfflineModuleLegacy.m +2 -0
- package/ios/RNMBX/Offline/RNMBXOfflineModuleLegacy.swift +5 -0
- package/ios/RNMBX/RNMBXCamera.swift +88 -17
- package/ios/RNMBX/RNMBXCameraModule.h +3 -2
- package/ios/RNMBX/RNMBXCameraModule.mm +8 -16
- package/ios/RNMBX/RNMBXCustomLocationProvider.swift +18 -24
- package/ios/RNMBX/RNMBXImageModule.h +3 -2
- package/ios/RNMBX/RNMBXImageModule.mm +8 -16
- package/ios/RNMBX/RNMBXImages.swift +1 -4
- package/ios/RNMBX/RNMBXInteractiveElement.swift +22 -15
- package/ios/RNMBX/RNMBXMapView.swift +68 -6
- package/ios/RNMBX/RNMBXModule.m +1 -0
- package/ios/RNMBX/RNMBXModule.swift +16 -2
- package/ios/RNMBX/RNMBXNativeUserLocation.swift +6 -6
- package/ios/RNMBX/RNMBXPointAnnotation.swift +6 -8
- package/ios/RNMBX/RNMBXPointAnnotationModule.h +3 -2
- package/ios/RNMBX/RNMBXPointAnnotationModule.mm +8 -16
- package/ios/RNMBX/RNMBXRasterArraySource.swift +47 -0
- package/ios/RNMBX/RNMBXRasterArraySourceComponentView.h +15 -0
- package/ios/RNMBX/RNMBXRasterArraySourceComponentView.mm +168 -0
- package/ios/RNMBX/RNMBXRasterArraySourceViewManager.swift +16 -0
- package/ios/RNMBX/RNMBXRasterParticleLayer.swift +100 -0
- package/ios/RNMBX/RNMBXRasterParticleLayerComponentView.h +15 -0
- package/ios/RNMBX/RNMBXRasterParticleLayerComponentView.mm +121 -0
- package/ios/RNMBX/RNMBXRasterParticleLayerViewManager.swift +17 -0
- package/ios/RNMBX/RNMBXShapeSource.swift +5 -4
- package/ios/RNMBX/RNMBXShapeSourceModule.h +3 -2
- package/ios/RNMBX/RNMBXShapeSourceModule.mm +8 -16
- package/ios/RNMBX/RNMBXSource.swift +51 -21
- package/ios/RNMBX/RNMBXStyle.swift +152 -27
- package/ios/RNMBX/RNMBXStyleValue.swift +27 -0
- package/ios/RNMBX/RNMBXViewport.swift +13 -13
- package/ios/RNMBX/RNMBXViewportModule.h +3 -2
- package/ios/RNMBX/RNMBXViewportModule.mm +8 -16
- package/ios/RNMBX/Utils/RNMBXViewResolver.mm +15 -2
- package/lib/commonjs/plugin/build/withMapbox.js +8 -8
- package/lib/commonjs/plugin/src/withMapbox.ts +18 -8
- package/lib/module/Mapbox.native.js +2 -0
- package/lib/module/Mapbox.native.js.map +1 -1
- package/lib/module/RNMBXModule.js +15 -1
- package/lib/module/RNMBXModule.js.map +1 -1
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterArraySource.js +67 -0
- package/lib/module/components/RasterArraySource.js.map +1 -0
- package/lib/module/components/RasterParticleLayer.js +40 -0
- package/lib/module/components/RasterParticleLayer.js.map +1 -0
- package/lib/module/modules/offline/offlineManagerLegacy.js +14 -0
- package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -1
- package/lib/module/specs/RNMBXRasterArraySourceNativeComponent.ts +22 -0
- package/lib/module/specs/RNMBXRasterParticleLayerNativeComponent.ts +39 -0
- package/lib/module/utils/MapboxStyles.js.map +1 -1
- package/lib/module/utils/styleMap.js +9 -0
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/typescript/plugin/build/withMapbox.d.ts +1 -6
- package/lib/typescript/plugin/build/withMapbox.d.ts.map +1 -1
- package/lib/typescript/plugin/src/withMapbox.d.ts.map +1 -1
- package/lib/typescript/scripts/autogenHelpers/generateCodeWithEjs.d.mts.map +1 -1
- package/lib/typescript/scripts/autogenHelpers/globals.d.mts +1 -1
- package/lib/typescript/scripts/autogenHelpers/globals.d.mts.map +1 -1
- package/lib/typescript/src/Mapbox.native.d.ts +3 -1
- package/lib/typescript/src/Mapbox.native.d.ts.map +1 -1
- package/lib/typescript/src/RNMBXModule.d.ts +11 -1
- package/lib/typescript/src/RNMBXModule.d.ts.map +1 -1
- package/lib/typescript/src/components/PointAnnotation.d.ts +1 -1
- package/lib/typescript/src/components/PointAnnotation.d.ts.map +1 -1
- package/lib/typescript/src/components/RasterArraySource.d.ts +72 -0
- package/lib/typescript/src/components/RasterArraySource.d.ts.map +1 -0
- package/lib/typescript/src/components/RasterParticleLayer.d.ts +80 -0
- package/lib/typescript/src/components/RasterParticleLayer.d.ts.map +1 -0
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts +11 -0
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXRasterArraySourceNativeComponent.d.ts +16 -0
- package/lib/typescript/src/specs/RNMBXRasterArraySourceNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXRasterParticleLayerNativeComponent.d.ts +25 -0
- package/lib/typescript/src/specs/RNMBXRasterParticleLayerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/utils/MapboxStyles.d.ts +44 -2
- package/lib/typescript/src/utils/MapboxStyles.d.ts.map +1 -1
- package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
- package/package.json +13 -1
- package/plugin/build/withMapbox.js +8 -8
- package/plugin/src/withMapbox.ts +18 -8
- package/rnmapbox-maps.podspec +1 -1
- package/src/Mapbox.native.ts +3 -0
- package/src/RNMBXModule.ts +25 -2
- package/src/components/PointAnnotation.tsx +2 -2
- package/src/components/RasterArraySource.tsx +134 -0
- package/src/components/RasterParticleLayer.tsx +117 -0
- package/src/modules/offline/offlineManagerLegacy.ts +14 -0
- package/src/specs/RNMBXRasterArraySourceNativeComponent.ts +22 -0
- package/src/specs/RNMBXRasterParticleLayerNativeComponent.ts +39 -0
- package/src/utils/MapboxStyles.ts +47 -1
- package/src/utils/styleMap.ts +10 -0
|
@@ -762,3 +762,48 @@ fun FillExtrusionLayer.fillExtrusionEmissiveStrengthTransition(
|
|
|
762
762
|
) {
|
|
763
763
|
// V11 only
|
|
764
764
|
}
|
|
765
|
+
|
|
766
|
+
// RasterParticleLayer - v11 only
|
|
767
|
+
internal fun setRasterParticleLayerStyle(layer: Any, style: Any) {
|
|
768
|
+
TODO("RasterParticleLayer is v11 only")
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
internal fun setVisibility(layer: Any, styleValue: Any) {
|
|
772
|
+
TODO("RasterParticleLayer is v11 only")
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
internal fun setRasterParticleArrayBand(layer: Any, styleValue: Any) {
|
|
776
|
+
TODO("RasterParticleLayer is v11 only")
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
internal fun setRasterParticleCount(layer: Any, styleValue: Any) {
|
|
780
|
+
TODO("RasterParticleLayer is v11 only")
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
internal fun setRasterParticleColor(layer: Any, styleValue: Any) {
|
|
784
|
+
TODO("RasterParticleLayer is v11 only")
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
internal fun setRasterParticleMaxSpeed(layer: Any, styleValue: Any) {
|
|
788
|
+
TODO("RasterParticleLayer is v11 only")
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
internal fun setRasterParticleSpeedFactor(layer: Any, styleValue: Any) {
|
|
792
|
+
TODO("RasterParticleLayer is v11 only")
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
internal fun setRasterParticleSpeedFactorTransition(layer: Any, styleValue: Any) {
|
|
796
|
+
TODO("RasterParticleLayer is v11 only")
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
internal fun setRasterParticleFadeOpacityFactor(layer: Any, styleValue: Any) {
|
|
800
|
+
TODO("RasterParticleLayer is v11 only")
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
internal fun setRasterParticleFadeOpacityFactorTransition(layer: Any, styleValue: Any) {
|
|
804
|
+
TODO("RasterParticleLayer is v11 only")
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
internal fun setRasterParticleResetRateFactor(layer: Any, styleValue: Any) {
|
|
808
|
+
TODO("RasterParticleLayer is v11 only")
|
|
809
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.styles.layers
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import com.mapbox.maps.MapboxExperimental
|
|
5
|
+
import com.mapbox.maps.extension.style.layers.generated.RasterParticleLayer
|
|
6
|
+
import com.rnmapbox.rnmbx.components.styles.RNMBXStyle
|
|
7
|
+
import com.rnmapbox.rnmbx.components.styles.RNMBXStyleFactory
|
|
8
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
9
|
+
|
|
10
|
+
class RNMBXRasterParticleLayer(context: Context?) : RNMBXLayer<RasterParticleLayer?>(
|
|
11
|
+
context!!
|
|
12
|
+
) {
|
|
13
|
+
var mSourceLayerID: String? = null
|
|
14
|
+
|
|
15
|
+
override fun makeLayer(): RasterParticleLayer {
|
|
16
|
+
val result = RasterParticleLayer(iD!!, mSourceID!!)
|
|
17
|
+
mSourceLayerID?.let {
|
|
18
|
+
result.sourceLayer(it)
|
|
19
|
+
}
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
override fun addStyles() {
|
|
24
|
+
mLayer?.also {
|
|
25
|
+
RNMBXStyleFactory.setRasterParticleLayerStyle(it, RNMBXStyle(context, mReactStyle, mMap!!))
|
|
26
|
+
} ?: run {
|
|
27
|
+
Logger.e("RNMBXRasterParticleLayer", "mLayer is null")
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@OptIn(MapboxExperimental::class)
|
|
32
|
+
fun setSourceLayerID(sourceLayer: String?) {
|
|
33
|
+
mSourceLayerID = sourceLayer
|
|
34
|
+
mLayer?.let {
|
|
35
|
+
it.sourceLayer(sourceLayer!!)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.styles.layers
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
4
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
5
|
+
import com.facebook.react.uimanager.ViewGroupManager
|
|
6
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
7
|
+
import com.facebook.react.viewmanagers.RNMBXRasterParticleLayerManagerInterface
|
|
8
|
+
|
|
9
|
+
class RNMBXRasterParticleLayerManager : ViewGroupManager<RNMBXRasterParticleLayer>(),
|
|
10
|
+
RNMBXRasterParticleLayerManagerInterface<RNMBXRasterParticleLayer> {
|
|
11
|
+
override fun getName(): String {
|
|
12
|
+
return REACT_CLASS
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
override fun createViewInstance(reactContext: ThemedReactContext): RNMBXRasterParticleLayer {
|
|
16
|
+
return RNMBXRasterParticleLayer(reactContext)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXRasterParticleLayer"})}
|
|
20
|
+
@ReactProp(name = "id")
|
|
21
|
+
override fun setId(layer: RNMBXRasterParticleLayer, id: Dynamic) {
|
|
22
|
+
layer.iD = id.asString()
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@ReactProp(name = "existing")
|
|
26
|
+
override fun setExisting(layer: RNMBXRasterParticleLayer, existing: Dynamic) {
|
|
27
|
+
layer.setExisting(existing.asBoolean())
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@ReactProp(name = "sourceID")
|
|
31
|
+
override fun setSourceID(layer: RNMBXRasterParticleLayer, sourceID: Dynamic) {
|
|
32
|
+
layer.setSourceID(sourceID.asString())
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@ReactProp(name = "aboveLayerID")
|
|
36
|
+
override fun setAboveLayerID(layer: RNMBXRasterParticleLayer, aboveLayerID: Dynamic) {
|
|
37
|
+
layer.setAboveLayerID(aboveLayerID.asString())
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@ReactProp(name = "belowLayerID")
|
|
41
|
+
override fun setBelowLayerID(layer: RNMBXRasterParticleLayer, belowLayerID: Dynamic) {
|
|
42
|
+
layer.setBelowLayerID(belowLayerID.asString())
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@ReactProp(name = "layerIndex")
|
|
46
|
+
override fun setLayerIndex(layer: RNMBXRasterParticleLayer, layerIndex: Dynamic) {
|
|
47
|
+
layer.setLayerIndex(layerIndex.asInt())
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@ReactProp(name = "minZoomLevel")
|
|
51
|
+
override fun setMinZoomLevel(layer: RNMBXRasterParticleLayer, minZoomLevel: Dynamic) {
|
|
52
|
+
layer.setMinZoomLevel(minZoomLevel.asDouble())
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@ReactProp(name = "maxZoomLevel")
|
|
56
|
+
override fun setMaxZoomLevel(layer: RNMBXRasterParticleLayer, maxZoomLevel: Dynamic) {
|
|
57
|
+
layer.setMaxZoomLevel(maxZoomLevel.asDouble())
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@ReactProp(name = "reactStyle")
|
|
61
|
+
override fun setReactStyle(layer: RNMBXRasterParticleLayer, style: Dynamic) {
|
|
62
|
+
layer.setReactStyle(style.asMap())
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@ReactProp(name = "sourceLayerID")
|
|
66
|
+
override fun setSourceLayerID(layer: RNMBXRasterParticleLayer, sourceLayerID: Dynamic) {
|
|
67
|
+
layer.setSourceLayerID(sourceLayerID.asString())
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@ReactProp(name = "filter")
|
|
71
|
+
override fun setFilter(layer: RNMBXRasterParticleLayer, filterList: Dynamic) {
|
|
72
|
+
layer.setFilter(filterList.asArray())
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@ReactProp(name = "slot")
|
|
76
|
+
override fun setSlot(layer: RNMBXRasterParticleLayer, slot: Dynamic) {
|
|
77
|
+
layer.setSlot(slot.asString())
|
|
78
|
+
}
|
|
79
|
+
// @{codepart-replace-end}
|
|
80
|
+
|
|
81
|
+
companion object {
|
|
82
|
+
const val REACT_CLASS = "RNMBXRasterParticleLayer"
|
|
83
|
+
const val isImplemented = true
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.styles.sources
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import com.mapbox.maps.extension.style.sources.generated.RasterArraySource
|
|
5
|
+
|
|
6
|
+
class RNMBXRasterArraySource(context: Context?) : RNMBXTileSource<RasterArraySource?>(context) {
|
|
7
|
+
private var mTileSize: Int? = null
|
|
8
|
+
override fun makeSource(): RasterArraySource {
|
|
9
|
+
val id = iD!!
|
|
10
|
+
val configurationUrl = uRL
|
|
11
|
+
val tileSize = if (mTileSize == null) DEFAULT_TILE_SIZE else mTileSize!!
|
|
12
|
+
return if (configurationUrl != null) {
|
|
13
|
+
RasterArraySource.Builder(id).url(configurationUrl).tileSize(tileSize.toLong()).build()
|
|
14
|
+
} else RasterArraySource.Builder(id).tileSet(buildTileset())
|
|
15
|
+
.tileSize(tileSize.toLong()).build()
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
fun setTileSize(tileSize: Int) {
|
|
19
|
+
mTileSize = tileSize
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
override fun hasPressListener(): Boolean {
|
|
23
|
+
return false
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override fun onPress(feature: OnPressEvent?) {
|
|
27
|
+
// ignore, cannot query raster array layers
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
override fun hasNoDataSoRefersToExisting(): Boolean {
|
|
31
|
+
return uRL == null
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
companion object {
|
|
35
|
+
const val DEFAULT_TILE_SIZE = 512
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
fun setSourceBounds(value: Array<Double>) {
|
|
39
|
+
bounds = value
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.styles.sources
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
6
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
7
|
+
import com.facebook.react.viewmanagers.RNMBXRasterArraySourceManagerInterface
|
|
8
|
+
import com.rnmapbox.rnmbx.events.constants.EventKeys
|
|
9
|
+
import com.rnmapbox.rnmbx.events.constants.eventMapOf
|
|
10
|
+
import javax.annotation.Nonnull
|
|
11
|
+
import com.facebook.react.bridge.ReadableType
|
|
12
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
13
|
+
|
|
14
|
+
class RNMBXRasterArraySourceManager(reactApplicationContext: ReactApplicationContext) :
|
|
15
|
+
RNMBXTileSourceManager<RNMBXRasterArraySource>(reactApplicationContext),
|
|
16
|
+
RNMBXRasterArraySourceManagerInterface<RNMBXRasterArraySource> {
|
|
17
|
+
@Nonnull
|
|
18
|
+
override fun getName(): String {
|
|
19
|
+
return REACT_CLASS
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@Nonnull
|
|
23
|
+
override fun createViewInstance(@Nonnull reactContext: ThemedReactContext): RNMBXRasterArraySource {
|
|
24
|
+
return RNMBXRasterArraySource(reactContext)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@ReactProp(name = "tileSize")
|
|
28
|
+
override fun setTileSize(source: RNMBXRasterArraySource, tileSize: Dynamic) {
|
|
29
|
+
source.setTileSize(tileSize.asInt())
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
override fun customEvents(): Map<String, String>? {
|
|
33
|
+
return eventMapOf(
|
|
34
|
+
EventKeys.MAP_ANDROID_CALLBACK to "onAndroidCallback"
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
companion object {
|
|
39
|
+
const val REACT_CLASS = "RNMBXRasterArraySource"
|
|
40
|
+
const val isImplemented = true
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@ReactProp(name = "existing")
|
|
44
|
+
override fun setExisting(source: RNMBXRasterArraySource, value: Dynamic) {
|
|
45
|
+
source.mExisting = value.asBoolean()
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@ReactProp(name = "sourceBounds")
|
|
49
|
+
override fun setSourceBounds(source: RNMBXRasterArraySource, value: Dynamic) {
|
|
50
|
+
val array = value.asArray()
|
|
51
|
+
if (value.type != ReadableType.Array || array == null || array.size() != 4) {
|
|
52
|
+
Logger.e(REACT_CLASS, "source bounds must be an array with left, bottom, top, and right values")
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
val bboxArray = Array(4) { i -> array.getDouble(i) }
|
|
56
|
+
|
|
57
|
+
if(!this.validateBbox(bboxArray)){
|
|
58
|
+
Logger.e(REACT_CLASS, "source bounds contain invalid bbox")
|
|
59
|
+
return
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
source.setSourceBounds(bboxArray)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
private fun validateBbox(bbox: Array<Double>): Boolean {
|
|
66
|
+
if (bbox.size != 4) return false
|
|
67
|
+
|
|
68
|
+
val (swLng, swLat, neLng, neLat) = bbox
|
|
69
|
+
|
|
70
|
+
val isLngValid = swLng in -180.0..180.0 && neLng in -180.0..180.0
|
|
71
|
+
val isLatValid = swLat in -90.0..90.0 && neLat in -90.0..90.0
|
|
72
|
+
val isSouthWestOfNorthEast = swLng < neLng && swLat < neLat
|
|
73
|
+
|
|
74
|
+
return isLngValid && isLatValid && isSouthWestOfNorthEast
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
17
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
18
|
+
|
|
19
|
+
public class RNMBXRasterArraySourceManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNMBXRasterArraySourceManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
20
|
+
public RNMBXRasterArraySourceManagerDelegate(U viewManager) {
|
|
21
|
+
super(viewManager);
|
|
22
|
+
}
|
|
23
|
+
@Override
|
|
24
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
25
|
+
switch (propName) {
|
|
26
|
+
case "id":
|
|
27
|
+
mViewManager.setId(view, new DynamicFromObject(value));
|
|
28
|
+
break;
|
|
29
|
+
case "existing":
|
|
30
|
+
mViewManager.setExisting(view, new DynamicFromObject(value));
|
|
31
|
+
break;
|
|
32
|
+
case "url":
|
|
33
|
+
mViewManager.setUrl(view, new DynamicFromObject(value));
|
|
34
|
+
break;
|
|
35
|
+
case "tileUrlTemplates":
|
|
36
|
+
mViewManager.setTileUrlTemplates(view, new DynamicFromObject(value));
|
|
37
|
+
break;
|
|
38
|
+
case "minZoomLevel":
|
|
39
|
+
mViewManager.setMinZoomLevel(view, new DynamicFromObject(value));
|
|
40
|
+
break;
|
|
41
|
+
case "maxZoomLevel":
|
|
42
|
+
mViewManager.setMaxZoomLevel(view, new DynamicFromObject(value));
|
|
43
|
+
break;
|
|
44
|
+
case "tileSize":
|
|
45
|
+
mViewManager.setTileSize(view, new DynamicFromObject(value));
|
|
46
|
+
break;
|
|
47
|
+
case "sourceBounds":
|
|
48
|
+
mViewManager.setSourceBounds(view, new DynamicFromObject(value));
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
super.setProperty(view, propName, value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import com.facebook.react.bridge.Dynamic;
|
|
14
|
+
public interface RNMBXRasterArraySourceManagerInterface<T extends View> {
|
|
15
|
+
void setId(T view, Dynamic value);
|
|
16
|
+
void setExisting(T view, Dynamic value);
|
|
17
|
+
void setUrl(T view, Dynamic value);
|
|
18
|
+
void setTileUrlTemplates(T view, Dynamic value);
|
|
19
|
+
void setMinZoomLevel(T view, Dynamic value);
|
|
20
|
+
void setMaxZoomLevel(T view, Dynamic value);
|
|
21
|
+
void setTileSize(T view, Dynamic value);
|
|
22
|
+
void setSourceBounds(T view, Dynamic value);
|
|
23
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
17
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
18
|
+
|
|
19
|
+
public class RNMBXRasterParticleLayerManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNMBXRasterParticleLayerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
20
|
+
public RNMBXRasterParticleLayerManagerDelegate(U viewManager) {
|
|
21
|
+
super(viewManager);
|
|
22
|
+
}
|
|
23
|
+
@Override
|
|
24
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
25
|
+
switch (propName) {
|
|
26
|
+
case "sourceID":
|
|
27
|
+
mViewManager.setSourceID(view, new DynamicFromObject(value));
|
|
28
|
+
break;
|
|
29
|
+
case "existing":
|
|
30
|
+
mViewManager.setExisting(view, new DynamicFromObject(value));
|
|
31
|
+
break;
|
|
32
|
+
case "filter":
|
|
33
|
+
mViewManager.setFilter(view, new DynamicFromObject(value));
|
|
34
|
+
break;
|
|
35
|
+
case "aboveLayerID":
|
|
36
|
+
mViewManager.setAboveLayerID(view, new DynamicFromObject(value));
|
|
37
|
+
break;
|
|
38
|
+
case "belowLayerID":
|
|
39
|
+
mViewManager.setBelowLayerID(view, new DynamicFromObject(value));
|
|
40
|
+
break;
|
|
41
|
+
case "layerIndex":
|
|
42
|
+
mViewManager.setLayerIndex(view, new DynamicFromObject(value));
|
|
43
|
+
break;
|
|
44
|
+
case "maxZoomLevel":
|
|
45
|
+
mViewManager.setMaxZoomLevel(view, new DynamicFromObject(value));
|
|
46
|
+
break;
|
|
47
|
+
case "minZoomLevel":
|
|
48
|
+
mViewManager.setMinZoomLevel(view, new DynamicFromObject(value));
|
|
49
|
+
break;
|
|
50
|
+
case "sourceLayerID":
|
|
51
|
+
mViewManager.setSourceLayerID(view, new DynamicFromObject(value));
|
|
52
|
+
break;
|
|
53
|
+
case "slot":
|
|
54
|
+
mViewManager.setSlot(view, new DynamicFromObject(value));
|
|
55
|
+
break;
|
|
56
|
+
case "id":
|
|
57
|
+
mViewManager.setId(view, new DynamicFromObject(value));
|
|
58
|
+
break;
|
|
59
|
+
case "reactStyle":
|
|
60
|
+
mViewManager.setReactStyle(view, new DynamicFromObject(value));
|
|
61
|
+
break;
|
|
62
|
+
default:
|
|
63
|
+
super.setProperty(view, propName, value);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import com.facebook.react.bridge.Dynamic;
|
|
14
|
+
public interface RNMBXRasterParticleLayerManagerInterface<T extends View> {
|
|
15
|
+
void setSourceID(T view, Dynamic value);
|
|
16
|
+
void setExisting(T view, Dynamic value);
|
|
17
|
+
void setFilter(T view, Dynamic value);
|
|
18
|
+
void setAboveLayerID(T view, Dynamic value);
|
|
19
|
+
void setBelowLayerID(T view, Dynamic value);
|
|
20
|
+
void setLayerIndex(T view, Dynamic value);
|
|
21
|
+
void setMaxZoomLevel(T view, Dynamic value);
|
|
22
|
+
void setMinZoomLevel(T view, Dynamic value);
|
|
23
|
+
void setSourceLayerID(T view, Dynamic value);
|
|
24
|
+
void setSlot(T view, Dynamic value);
|
|
25
|
+
void setId(T view, Dynamic value);
|
|
26
|
+
void setReactStyle(T view, Dynamic value);
|
|
27
|
+
}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import MapboxMaps
|
|
2
2
|
|
|
3
|
+
struct CustomHttpHeadersOptions {
|
|
4
|
+
var urlRegexp: NSRegularExpression?
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
struct CustomHttpHeadersMapValue {
|
|
8
|
+
var headerValue: String
|
|
9
|
+
var options: CustomHttpHeadersOptions
|
|
10
|
+
}
|
|
11
|
+
|
|
3
12
|
class CustomHttpHeaders : HttpServiceInterceptorInterface {
|
|
4
13
|
#if RNMBX_11
|
|
5
14
|
func onRequest(for request: HttpRequest, continuation: @escaping HttpServiceInterceptorRequestContinuation) {
|
|
@@ -18,7 +27,7 @@ class CustomHttpHeaders : HttpServiceInterceptorInterface {
|
|
|
18
27
|
return headers
|
|
19
28
|
}()
|
|
20
29
|
|
|
21
|
-
var customHeaders : [String:
|
|
30
|
+
var customHeaders : [String:CustomHttpHeadersMapValue] = [:]
|
|
22
31
|
|
|
23
32
|
func install() {
|
|
24
33
|
#if RNMBX_11
|
|
@@ -38,19 +47,39 @@ class CustomHttpHeaders : HttpServiceInterceptorInterface {
|
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
// MARK: - HttpServiceInterceptorInterface
|
|
50
|
+
|
|
51
|
+
func getCustomRequestHeaders(for request: HttpRequest, with customHeaders: [String: CustomHttpHeadersMapValue]) -> [String: String] {
|
|
52
|
+
var headers: [String: String] = [:]
|
|
53
|
+
let urlString = request.url
|
|
41
54
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
55
|
+
for (key, entry) in customHeaders {
|
|
56
|
+
let options = entry.options
|
|
57
|
+
|
|
58
|
+
if let pattern = options.urlRegexp {
|
|
59
|
+
do {
|
|
60
|
+
let range = NSRange(location: 0, length: urlString.utf16.count)
|
|
61
|
+
if pattern.firstMatch(in: urlString, options: [], range: range) != nil {
|
|
62
|
+
headers[key] = entry.headerValue
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
headers[key] = entry.headerValue
|
|
67
|
+
}
|
|
45
68
|
}
|
|
69
|
+
return headers
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
func onRequest(for request: HttpRequest) -> HttpRequest {
|
|
74
|
+
let customHeaders = getCustomRequestHeaders(for: request, with: customHeaders)
|
|
75
|
+
request.headers.merge(customHeaders) { (_, new) in new }
|
|
46
76
|
return request
|
|
47
77
|
}
|
|
48
78
|
|
|
49
79
|
#if !RNMBX_11
|
|
50
80
|
func onDownload(forDownload download: DownloadOptions) -> DownloadOptions {
|
|
51
|
-
customHeaders
|
|
52
|
-
|
|
53
|
-
}
|
|
81
|
+
let customHeaders = getCustomRequestHeaders(for: download.request, with: customHeaders)
|
|
82
|
+
download.request.headers.merge(customHeaders) { (_, new) in new }
|
|
54
83
|
return download
|
|
55
84
|
}
|
|
56
85
|
#endif
|
|
@@ -14,6 +14,8 @@ RCT_EXTERN_METHOD(pausePackDownload:(NSString *)name
|
|
|
14
14
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
15
15
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
16
16
|
|
|
17
|
+
RCT_EXTERN_METHOD(setTileCountLimit:(nonnull NSNumber *)limit)
|
|
18
|
+
|
|
17
19
|
RCT_EXTERN_METHOD(getPackStatus:(NSString *)name
|
|
18
20
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
19
21
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
@@ -363,6 +363,11 @@ func getRegionByName(name: String, offlineRegions: [OfflineRegion]) -> OfflineRe
|
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
@objc
|
|
367
|
+
func setTileCountLimit(_ limit: NSNumber) {
|
|
368
|
+
self.offlineRegionManager.setOfflineMapboxTileCountLimitForLimit(limit.uint64Value)
|
|
369
|
+
}
|
|
370
|
+
|
|
366
371
|
@objc
|
|
367
372
|
func resetDatabase(_ resolver: @escaping RCTPromiseResolveBlock,
|
|
368
373
|
rejecter: @escaping RCTPromiseRejectBlock)
|