@rnmapbox/maps 10.1.0-beta.23 → 10.1.0-beta.25

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.
Files changed (153) hide show
  1. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +4 -0
  2. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +69 -2
  3. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +27 -3
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +51 -0
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +8 -0
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -1
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +1184 -109
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayer.kt +33 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayerManager.kt +85 -0
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModels.kt +33 -0
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModelsManager.kt +59 -0
  12. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +37 -5
  13. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +395 -0
  14. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +8 -0
  15. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerDelegate.java +65 -0
  16. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerInterface.java +28 -0
  17. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java +32 -0
  18. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java +17 -0
  19. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +3 -0
  20. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +1 -0
  21. package/ios/RNMBX/RNMBXFabricPropConvert.h +11 -5
  22. package/ios/RNMBX/RNMBXFabricPropConvert.mm +5 -0
  23. package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
  24. package/ios/RNMBX/RNMBXModelLayer.swift +59 -0
  25. package/ios/RNMBX/RNMBXModelLayerComponentView.h +15 -0
  26. package/ios/RNMBX/RNMBXModelLayerComponentView.mm +70 -0
  27. package/ios/RNMBX/RNMBXModelLayerViewManager.m +12 -0
  28. package/ios/RNMBX/RNMBXModelLayerViewManager.swift +13 -0
  29. package/ios/RNMBX/RNMBXModels.swift +63 -0
  30. package/ios/RNMBX/RNMBXModelsComponentView.h +17 -0
  31. package/ios/RNMBX/RNMBXModelsComponentView.mm +67 -0
  32. package/ios/RNMBX/RNMBXModelsManager.mm +9 -0
  33. package/ios/RNMBX/RNMBXModelsManager.swift +13 -0
  34. package/ios/RNMBX/RNMBXNativeUserLocation.swift +47 -16
  35. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +8 -7
  36. package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +1 -0
  37. package/ios/RNMBX/RNMBXStyle.swift +786 -1
  38. package/ios/RNMBX/RNMBXStyleValue.swift +34 -3
  39. package/ios/RNMBX/RNMBXViewport.swift +59 -3
  40. package/lib/commonjs/Mapbox.js +16 -0
  41. package/lib/commonjs/Mapbox.js.map +1 -1
  42. package/lib/commonjs/components/AbstractLayer.js +1 -1
  43. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  44. package/lib/commonjs/components/ModelLayer.js +37 -0
  45. package/lib/commonjs/components/ModelLayer.js.map +1 -0
  46. package/lib/commonjs/components/Models.js +43 -0
  47. package/lib/commonjs/components/Models.js.map +1 -0
  48. package/lib/commonjs/components/NativeUserLocation.js +25 -1
  49. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  50. package/lib/commonjs/components/Viewport.js.map +1 -1
  51. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  52. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  53. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  54. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  55. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js +13 -0
  56. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  57. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js +10 -0
  58. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js.map +1 -0
  59. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  60. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  61. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  62. package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
  63. package/lib/commonjs/utils/MapboxStyles.d.js +5 -0
  64. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  65. package/lib/commonjs/utils/styleMap.js +67 -2
  66. package/lib/commonjs/utils/styleMap.js.map +1 -1
  67. package/lib/module/Mapbox.js +2 -0
  68. package/lib/module/Mapbox.js.map +1 -1
  69. package/lib/module/components/AbstractLayer.js +1 -1
  70. package/lib/module/components/AbstractLayer.js.map +1 -1
  71. package/lib/module/components/ModelLayer.js +30 -0
  72. package/lib/module/components/ModelLayer.js.map +1 -0
  73. package/lib/module/components/Models.js +36 -0
  74. package/lib/module/components/Models.js.map +1 -0
  75. package/lib/module/components/NativeUserLocation.js +25 -1
  76. package/lib/module/components/NativeUserLocation.js.map +1 -1
  77. package/lib/module/components/Viewport.js.map +1 -1
  78. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +2 -0
  79. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  80. package/lib/module/specs/RNMBXFillLayerNativeComponent.js +2 -0
  81. package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  82. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
  83. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  84. package/lib/module/specs/RNMBXLineLayerNativeComponent.js +2 -0
  85. package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  86. package/lib/module/specs/RNMBXModelLayerNativeComponent.js +9 -0
  87. package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  88. package/lib/module/specs/RNMBXModelsNativeComponent.js +3 -0
  89. package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -0
  90. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  91. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +2 -0
  92. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  93. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
  94. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  95. package/lib/module/specs/RNMBXViewportNativeComponent.js +2 -0
  96. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -1
  97. package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
  98. package/lib/module/utils/MapboxStyles.d.js +5 -0
  99. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  100. package/lib/module/utils/styleMap.js +67 -2
  101. package/lib/module/utils/styleMap.js.map +1 -1
  102. package/lib/typescript/src/Mapbox.d.ts +3 -1
  103. package/lib/typescript/src/Mapbox.d.ts.map +1 -1
  104. package/lib/typescript/src/components/AbstractLayer.d.ts +9 -4
  105. package/lib/typescript/src/components/AbstractLayer.d.ts.map +1 -1
  106. package/lib/typescript/src/components/MapView.d.ts +1 -5
  107. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  108. package/lib/typescript/src/components/ModelLayer.d.ts +77 -0
  109. package/lib/typescript/src/components/ModelLayer.d.ts.map +1 -0
  110. package/lib/typescript/src/components/Models.d.ts +15 -0
  111. package/lib/typescript/src/components/Models.d.ts.map +1 -0
  112. package/lib/typescript/src/components/NativeUserLocation.d.ts +20 -0
  113. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
  114. package/lib/typescript/src/components/Viewport.d.ts +32 -1
  115. package/lib/typescript/src/components/Viewport.d.ts.map +1 -1
  116. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +12 -10
  117. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
  118. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +12 -10
  119. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
  120. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +12 -10
  121. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
  122. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +12 -10
  123. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
  124. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts +28 -0
  125. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts.map +1 -0
  126. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts +15 -0
  127. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts.map +1 -0
  128. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +9 -1
  129. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
  130. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +12 -10
  131. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
  132. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +12 -10
  133. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
  134. package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/src/Mapbox.ts +3 -0
  137. package/src/components/AbstractLayer.tsx +11 -5
  138. package/src/components/ModelLayer.tsx +107 -0
  139. package/src/components/Models.tsx +44 -0
  140. package/src/components/NativeUserLocation.tsx +46 -2
  141. package/src/components/Viewport.tsx +37 -0
  142. package/src/specs/RNMBXCircleLayerNativeComponent.ts +15 -12
  143. package/src/specs/RNMBXFillLayerNativeComponent.ts +15 -12
  144. package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +15 -12
  145. package/src/specs/RNMBXLineLayerNativeComponent.ts +15 -12
  146. package/src/specs/RNMBXModelLayerNativeComponent.ts +38 -0
  147. package/src/specs/RNMBXModelsNativeComponent.ts +18 -0
  148. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +14 -1
  149. package/src/specs/RNMBXRasterLayerNativeComponent.ts +15 -12
  150. package/src/specs/RNMBXSymbolLayerNativeComponent.ts +15 -12
  151. package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
  152. package/src/utils/MapboxStyles.d.ts +526 -63
  153. package/src/utils/styleMap.ts +69 -2
@@ -0,0 +1,33 @@
1
+ package com.rnmapbox.rnmbx.components.styles.layers
2
+
3
+ import android.content.Context
4
+ import com.mapbox.maps.extension.style.layers.generated.ModelLayer
5
+ import com.rnmapbox.rnmbx.components.styles.RNMBXStyle
6
+ import com.rnmapbox.rnmbx.components.styles.RNMBXStyleFactory
7
+ import com.rnmapbox.rnmbx.utils.Logger
8
+
9
+ class RNMBXModelLayer(context: Context?) : RNMBXLayer<ModelLayer?>(
10
+ context!!
11
+ ) {
12
+ private var mSourceLayerID: String? = null
13
+
14
+ override fun makeLayer(): ModelLayer? {
15
+ val layer = ModelLayer(iD!!, mSourceID!!)
16
+ if (mSourceLayerID != null) {
17
+ layer.sourceLayer(mSourceLayerID!!)
18
+ }
19
+ return layer
20
+ }
21
+
22
+ override fun addStyles() {
23
+ mLayer?.also {
24
+ RNMBXStyleFactory.setModelLayerStyle(it, RNMBXStyle(context, mReactStyle, mMap!!))
25
+ } ?: run {
26
+ Logger.e("RNMBXLineLayer", "mLayer is null")
27
+ }
28
+ }
29
+
30
+ fun setSourceLayerID(value: String) {
31
+ mSourceLayerID = value
32
+ }
33
+ }
@@ -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.RNMBXModelLayerManagerInterface
8
+
9
+
10
+ class RNMBXModelLayerManager : ViewGroupManager<RNMBXModelLayer>(),
11
+ RNMBXModelLayerManagerInterface<RNMBXModelLayer> {
12
+ override fun getName(): String {
13
+ return REACT_CLASS
14
+ }
15
+
16
+ override fun createViewInstance(context: ThemedReactContext): RNMBXModelLayer {
17
+ return RNMBXModelLayer(context)
18
+ }
19
+
20
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXModelLayer"})}
21
+ @ReactProp(name = "id")
22
+ override fun setId(layer: RNMBXModelLayer, id: Dynamic) {
23
+ layer.iD = id.asString()
24
+ }
25
+
26
+ @ReactProp(name = "existing")
27
+ override fun setExisting(layer: RNMBXModelLayer, existing: Dynamic) {
28
+ layer.setExisting(existing.asBoolean())
29
+ }
30
+
31
+ @ReactProp(name = "sourceID")
32
+ override fun setSourceID(layer: RNMBXModelLayer, sourceID: Dynamic) {
33
+ layer.setSourceID(sourceID.asString())
34
+ }
35
+
36
+ @ReactProp(name = "aboveLayerID")
37
+ override fun setAboveLayerID(layer: RNMBXModelLayer, aboveLayerID: Dynamic) {
38
+ layer.setAboveLayerID(aboveLayerID.asString())
39
+ }
40
+
41
+ @ReactProp(name = "belowLayerID")
42
+ override fun setBelowLayerID(layer: RNMBXModelLayer, belowLayerID: Dynamic) {
43
+ layer.setBelowLayerID(belowLayerID.asString())
44
+ }
45
+
46
+ @ReactProp(name = "layerIndex")
47
+ override fun setLayerIndex(layer: RNMBXModelLayer, layerIndex: Dynamic) {
48
+ layer.setLayerIndex(layerIndex.asInt())
49
+ }
50
+
51
+ @ReactProp(name = "minZoomLevel")
52
+ override fun setMinZoomLevel(layer: RNMBXModelLayer, minZoomLevel: Dynamic) {
53
+ layer.setMinZoomLevel(minZoomLevel.asDouble())
54
+ }
55
+
56
+ @ReactProp(name = "maxZoomLevel")
57
+ override fun setMaxZoomLevel(layer: RNMBXModelLayer, maxZoomLevel: Dynamic) {
58
+ layer.setMaxZoomLevel(maxZoomLevel.asDouble())
59
+ }
60
+
61
+ @ReactProp(name = "reactStyle")
62
+ override fun setReactStyle(layer: RNMBXModelLayer, style: Dynamic) {
63
+ layer.setReactStyle(style.asMap())
64
+ }
65
+
66
+ @ReactProp(name = "sourceLayerID")
67
+ override fun setSourceLayerID(layer: RNMBXModelLayer, sourceLayerID: Dynamic) {
68
+ layer.setSourceLayerID(sourceLayerID.asString())
69
+ }
70
+
71
+ @ReactProp(name = "filter")
72
+ override fun setFilter(layer: RNMBXModelLayer, filterList: Dynamic) {
73
+ layer.setFilter(filterList.asArray())
74
+ }
75
+
76
+ @ReactProp(name = "slot")
77
+ override fun setSlot(layer: RNMBXModelLayer, slot: Dynamic) {
78
+ layer.setSlot(slot.asString())
79
+ }
80
+ // @{codepart-replace-end}
81
+
82
+ companion object {
83
+ const val REACT_CLASS = "RNMBXModelLayer"
84
+ }
85
+ }
@@ -0,0 +1,33 @@
1
+ package com.rnmapbox.rnmbx.components.styles.model
2
+
3
+ import android.content.Context
4
+ import com.facebook.react.bridge.Dynamic
5
+ import com.facebook.react.bridge.ReadableMap
6
+ import com.rnmapbox.rnmbx.components.AbstractMapFeature
7
+ import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
8
+ import java.net.URI
9
+
10
+ class RNMBXModels(context: Context?) : AbstractMapFeature(context) {
11
+ private var models: Map<String, String>? = null;
12
+
13
+ fun setModels(value: Map<String,String>) {
14
+ this.models = value;
15
+ applyModels()
16
+ }
17
+
18
+ override fun addToMap(mapView: RNMBXMapView) {
19
+ super.addToMap(mapView)
20
+ applyModels()
21
+ }
22
+
23
+ private fun applyModels(){
24
+ mMapView?.mapView?.getMapboxMap()?.getStyle()?.let { style ->
25
+ models?.forEach { (modelId,modelUri) ->
26
+ val uri = URI.create(modelUri)
27
+ val modelUriWithoutQuery = URI(uri.scheme, uri.userInfo, uri.host, uri.port, uri.path, null, uri.fragment).toString()
28
+
29
+ style.addStyleModel(modelId, modelUriWithoutQuery)
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,59 @@
1
+ package com.rnmapbox.rnmbx.components.styles.model
2
+
3
+ import com.facebook.react.bridge.Dynamic
4
+ import com.facebook.react.bridge.ReactApplicationContext
5
+ import com.facebook.react.bridge.ReadableMap
6
+ import com.facebook.react.uimanager.ThemedReactContext
7
+ import com.facebook.react.uimanager.ViewGroupManager
8
+ import com.facebook.react.uimanager.annotations.ReactProp
9
+ import com.facebook.react.viewmanagers.RNMBXModelLayerManagerInterface
10
+ import com.facebook.react.viewmanagers.RNMBXModelsManagerInterface
11
+ import com.rnmapbox.rnmbx.components.styles.terrain.RNMBXTerrainManager
12
+ import com.rnmapbox.rnmbx.utils.Logger
13
+ import com.rnmapbox.rnmbx.utils.extensions.forEach
14
+
15
+ class RNMBXModelsManager(private val mContext: ReactApplicationContext) : ViewGroupManager<RNMBXModels>(),
16
+ RNMBXModelsManagerInterface<RNMBXModels> {
17
+ override fun getName(): String {
18
+ return REACT_CLASS
19
+ }
20
+
21
+ override fun createViewInstance(context: ThemedReactContext): RNMBXModels {
22
+ return RNMBXModels(context)
23
+ }
24
+
25
+ @ReactProp(name = "models")
26
+ override fun setModels(view: RNMBXModels, value: Dynamic?) {
27
+ val map = hashMapOf<String,String>()
28
+ value?.asMap()?.forEach { modelName, model ->
29
+ when (model) {
30
+ is ReadableMap -> {
31
+ model.getString("uri")?.also {
32
+ map.put(modelName, it)
33
+ } ?: model.getString("url")?.also {
34
+ map.put(modelName, it)
35
+ } ?: run {
36
+ Logger.e(
37
+ LOG_TAG,
38
+ "Invalid value for model key: ${modelName} => ${model} is not an uri/url"
39
+ )
40
+ }
41
+ }
42
+
43
+ else -> {
44
+ Logger.e(
45
+ LOG_TAG,
46
+ "Invalid value for model key: ${modelName} => ${model} is not an uri/url"
47
+ )
48
+
49
+ }
50
+ }
51
+ }
52
+ view.setModels(map)
53
+ }
54
+
55
+ companion object {
56
+ const val REACT_CLASS = "RNMBXModels"
57
+ const val LOG_TAG = "RNMBXModels"
58
+ }
59
+ }
@@ -5,6 +5,16 @@ import com.facebook.react.bridge.ReadableType
5
5
  import com.google.gson.JsonArray
6
6
  import com.google.gson.JsonElement
7
7
  import com.google.gson.JsonObject
8
+ import com.mapbox.geojson.Feature
9
+ import com.mapbox.geojson.FeatureCollection
10
+ import com.mapbox.geojson.Geometry
11
+ import com.mapbox.geojson.GeometryCollection
12
+ import com.mapbox.geojson.LineString
13
+ import com.mapbox.geojson.MultiLineString
14
+ import com.mapbox.geojson.MultiPoint
15
+ import com.mapbox.geojson.MultiPolygon
16
+ import com.mapbox.geojson.Point
17
+ import com.mapbox.geojson.Polygon
8
18
  import com.mapbox.maps.EdgeInsets
9
19
  import com.rnmapbox.rnmbx.utils.ConvertUtils
10
20
  import com.rnmapbox.rnmbx.utils.Logger
@@ -103,7 +113,29 @@ fun ReadableMap.toJsonObject() : JsonObject {
103
113
  return result
104
114
  }
105
115
 
106
- fun ReadableMap.toPadding(tag: String = "RNMBXReadableMap"): EdgeInsets? {
116
+ fun ReadableMap.toJson(): String {
117
+ return toJsonObject().toString()
118
+ }
119
+ fun ReadableMap.toGeometry(): Geometry?
120
+ {
121
+ return getAndLogIfNotString("type")?.let {kind ->
122
+ return when (kind) {
123
+ "geometrycollection", "GeometryCollection" -> GeometryCollection.fromJson(this.toJson())
124
+ "point", "Point" -> Point.fromJson(this.toJson())
125
+ "multipoint", "MultiPoint" -> MultiPoint.fromJson(this.toJson())
126
+ "polygon", "Polygon" -> Polygon.fromJson(this.toJson())
127
+ "multipolygon", "MultiPolygon" -> MultiPolygon.fromJson(this.toJson())
128
+ "linestring", "LineString" -> LineString.fromJson(this.toJson())
129
+ "mulilinestring", "MultilineString" -> MultiLineString.fromJson(this.toJson())
130
+ else -> {
131
+ Logger.e("ReadableMap.toGeometry", "Unexpected geometry kind: $kind")
132
+ null
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ fun ReadableMap.toPadding(tag: String = "RNMBXReadableMap", density: Float): EdgeInsets? {
107
139
  var top: Double = 0.0
108
140
  var bottom: Double = 0.0
109
141
  var left: Double = 0.0
@@ -111,19 +143,19 @@ fun ReadableMap.toPadding(tag: String = "RNMBXReadableMap"): EdgeInsets? {
111
143
  var empty = true
112
144
 
113
145
  getAndLogIfNotDouble("top", tag)?.let {
114
- top = it
146
+ top = it * density.toDouble()
115
147
  empty = false
116
148
  }
117
149
  getAndLogIfNotDouble("bottom", tag)?.let {
118
- bottom = it
150
+ bottom = it * density.toDouble()
119
151
  empty = false
120
152
  }
121
153
  getAndLogIfNotDouble("left", tag)?.let {
122
- left = it
154
+ left = it * density.toDouble()
123
155
  empty = false
124
156
  }
125
157
  getAndLogIfNotDouble("right", tag)?.let {
126
- right = it
158
+ right = it * density.toDouble()
127
159
  empty = false
128
160
  }
129
161
  if (empty) {
@@ -0,0 +1,395 @@
1
+ package com.rnmapbox.rnmbx.v11compat.stylefactory;
2
+
3
+ import com.mapbox.maps.extension.style.atmosphere.generated.Atmosphere
4
+ import com.mapbox.maps.extension.style.expressions.generated.Expression
5
+ import com.mapbox.maps.extension.style.layers.generated.BackgroundLayer
6
+ import com.mapbox.maps.extension.style.layers.generated.CircleLayer
7
+ import com.mapbox.maps.extension.style.layers.generated.FillExtrusionLayer
8
+ import com.mapbox.maps.extension.style.layers.generated.FillLayer
9
+ import com.mapbox.maps.extension.style.layers.generated.LineLayer
10
+ import com.mapbox.maps.extension.style.layers.generated.ModelLayer
11
+ import com.mapbox.maps.extension.style.layers.generated.RasterLayer
12
+ import com.mapbox.maps.extension.style.layers.generated.SymbolLayer
13
+ import com.mapbox.maps.extension.style.types.StyleTransition
14
+
15
+ internal fun RasterLayer.rasterColor(rasterColor: Int) {
16
+ this.rasterColor(Expression.color(rasterColor))
17
+ }
18
+
19
+ internal fun ModelLayer.modelOpacity(expression: Expression) {
20
+ TODO("v11 only")
21
+ }
22
+
23
+ internal fun SymbolLayer.symbolZElevate(expression: Expression) {
24
+ TODO("v11 only")
25
+ }
26
+
27
+ internal fun LineLayer.lineEmissiveStrengthTransition(transition: StyleTransition) {
28
+ TODO("v11 only")
29
+ }
30
+
31
+ internal fun LineLayer.lineEmissiveStrength(expression: Expression) {
32
+ TODO("v11 only")
33
+ }
34
+
35
+ internal fun Atmosphere.verticalRangeTransition(transition: StyleTransition) {
36
+ TODO("v11 only")
37
+ }
38
+
39
+ internal fun FillLayer.fillEmissiveStrengthTransition(transition: StyleTransition) {
40
+ TODO("v11 only")
41
+ }
42
+
43
+ internal fun FillLayer.fillEmissiveStrength(expression: Double) {
44
+ TODO("v11 only")
45
+ }
46
+
47
+ internal fun FillLayer.fillEmissiveStrength(expression: Expression) {
48
+ TODO("v11 only")
49
+ }
50
+
51
+ internal fun ModelLayer.modelHeightBasedEmissiveStrengthMultiplier(expression: Expression) {
52
+ TODO("v11 only")
53
+ }
54
+
55
+ internal fun ModelLayer.modelCutoffFadeRange(value: Expression) {
56
+ TODO("v11 only")
57
+ }
58
+
59
+ internal fun ModelLayer.modelCutoffFadeRange(value: Double) {
60
+ TODO("v11 only")
61
+ }
62
+
63
+ internal fun BackgroundLayer.backgroundEmissiveStrengthTransition(transition: StyleTransition) {
64
+ TODO("v11 only")
65
+ }
66
+
67
+ internal fun Atmosphere.verticalRange(value: Expression) {
68
+ TODO("v11 only")
69
+ }
70
+
71
+ internal fun Atmosphere.verticalRange(value: kotlin.collections.List<Double>) {
72
+ TODO("v11 only")
73
+ }
74
+
75
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightIntensity(expression: Expression) {
76
+ TODO("v11 only")
77
+ }
78
+
79
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionWallRadius(expression: Expression) {
80
+ TODO("v11 only")
81
+ }
82
+
83
+ internal fun FillExtrusionLayer.fillExtrusionRoundedRoof(value: Expression?) {
84
+ TODO("v11 only")
85
+ }
86
+
87
+ internal fun SymbolLayer.iconImageCrossFade(expression: Expression) {
88
+ TODO("v11 only")
89
+ }
90
+
91
+ internal fun SymbolLayer.textEmissiveStrengthTransition(transition: StyleTransition) {
92
+ TODO("v11 only")
93
+ }
94
+
95
+ internal fun SymbolLayer.textEmissiveStrength(value: Double) {
96
+ TODO("v11 only")
97
+ }
98
+
99
+ internal fun SymbolLayer.iconEmissiveStrength(expression: Expression) {
100
+ TODO("v11 only")
101
+ }
102
+
103
+ internal fun SymbolLayer.symbolZElevate(expression: Boolean) {
104
+ TODO("v11 only")
105
+ }
106
+
107
+ internal fun LineLayer.lineEmissiveStrength(expression: Double) {
108
+ TODO("v11 only")
109
+ }
110
+
111
+ internal fun BackgroundLayer.backgroundEmissiveStrength(expression: Double) {
112
+ TODO("v11 only")
113
+ }
114
+
115
+ internal fun BackgroundLayer.backgroundEmissiveStrength(expression: Expression) {
116
+ TODO("v11 only")
117
+ }
118
+
119
+ internal fun ModelLayer.modelHeightBasedEmissiveStrengthMultiplierTransition(transition: StyleTransition) {
120
+ TODO("v11 only")
121
+ }
122
+
123
+ internal fun ModelLayer.modelHeightBasedEmissiveStrengthMultiplier(expression: List<Double>) {
124
+ TODO("v11 only")
125
+ }
126
+
127
+ internal fun ModelLayer.modelRoughnessTransition(transition: StyleTransition) {
128
+ TODO("v11 only")
129
+ }
130
+
131
+ internal fun ModelLayer.modelRoughness(expression: Double) {
132
+ TODO("v11 only")
133
+ }
134
+
135
+ internal fun ModelLayer.modelRoughness(expression: Expression) {
136
+ TODO("v11 only")
137
+ }
138
+
139
+ internal fun ModelLayer.modelEmissiveStrengthTransition(transition: StyleTransition) {
140
+ TODO("v11 only")
141
+ }
142
+
143
+ internal fun ModelLayer.modelEmissiveStrength(expression: Double) {
144
+ TODO("v11 only")
145
+ }
146
+
147
+ internal fun ModelLayer.modelEmissiveStrength(expression: Expression) {
148
+ TODO("v11 only")
149
+ }
150
+
151
+ internal fun ModelLayer.modelAmbientOcclusionIntensityTransition(transition: StyleTransition) {
152
+ TODO("v11 only")
153
+ }
154
+
155
+ internal fun ModelLayer.modelAmbientOcclusionIntensity(expression: Double) {
156
+ TODO("v11 only")
157
+ }
158
+
159
+ internal fun ModelLayer.modelAmbientOcclusionIntensity(expression: Expression) {
160
+ TODO("v11 only")
161
+ }
162
+
163
+ internal fun ModelLayer.modelReceiveShadows(expression: Boolean) {
164
+ TODO("v11 only")
165
+ }
166
+
167
+ internal fun ModelLayer.modelReceiveShadows(expression: Expression) {
168
+ TODO("v11 only")
169
+ }
170
+
171
+ internal fun ModelLayer.modelCastShadows(expression: Boolean) {
172
+ TODO("v11 only")
173
+ }
174
+
175
+ internal fun ModelLayer.modelCastShadows(expression: Expression) {
176
+ TODO("v11 only")
177
+ }
178
+
179
+ internal fun ModelLayer.modelColorMixIntensityTransition(transition: StyleTransition) {
180
+ TODO("v11 only")
181
+ }
182
+
183
+ internal fun ModelLayer.modelColorMixIntensity(expression: Double) {
184
+ TODO("v11 only")
185
+ }
186
+
187
+ internal fun ModelLayer.modelColorMixIntensity(expression: Expression) {
188
+ TODO("v11 only")
189
+ }
190
+
191
+ internal fun ModelLayer.modelColorTransition(transition: StyleTransition) {
192
+ TODO("v11 only")
193
+ }
194
+
195
+ internal fun ModelLayer.modelColor(expression: Int) {
196
+ TODO("v11 only")
197
+ }
198
+
199
+ internal fun ModelLayer.modelColor(expression: Expression) {
200
+ TODO("v11 only")
201
+ }
202
+
203
+ internal fun ModelLayer.modelTranslationTransition(transition: StyleTransition) {
204
+ TODO("v11 only")
205
+ }
206
+
207
+ internal fun ModelLayer.modelTranslation(expression: List<Double>) {
208
+ TODO("v11 only")
209
+ }
210
+
211
+ internal fun ModelLayer.modelTranslation(expression: Expression) {
212
+ TODO("v11 only")
213
+ }
214
+
215
+ internal fun ModelLayer.modelOpacityTransition(transition: StyleTransition) {
216
+ TODO("v11 only")
217
+ }
218
+
219
+ internal fun ModelLayer.modelOpacity(expression: Double) {
220
+ TODO("v11 only")
221
+ }
222
+
223
+ internal fun RasterLayer.rasterColorRangeTransition(transition: StyleTransition) {
224
+ TODO("v11 only")
225
+ }
226
+
227
+ internal fun RasterLayer.rasterColorRange(expression: List<Double>) {
228
+ TODO("v11 only")
229
+ }
230
+
231
+ internal fun RasterLayer.rasterColorRange(expression: Expression) {
232
+ TODO("v11 only")
233
+ }
234
+
235
+ internal fun RasterLayer.rasterColorMixTransition(transition: StyleTransition) {
236
+ TODO("v11 only")
237
+ }
238
+
239
+ internal fun RasterLayer.rasterColorMix(expression: List<Double>) {
240
+ TODO("v11 only")
241
+ }
242
+
243
+ internal fun RasterLayer.rasterColorMix(expression: Expression) {
244
+ TODO("v11 only")
245
+ }
246
+
247
+ internal fun RasterLayer.rasterColor(rasterColor: Expression) {
248
+ TODO("v11 only")
249
+ }
250
+
251
+ internal fun FillExtrusionLayer.fillExtrusionCutoffFadeRange(expression: Double) {
252
+ TODO("v11 only")
253
+ }
254
+
255
+ internal fun FillExtrusionLayer.fillExtrusionCutoffFadeRange(expression: Expression) {
256
+ TODO("v11 only")
257
+ }
258
+
259
+ internal fun FillExtrusionLayer.fillExtrusionVerticalScaleTransition(transition: StyleTransition) {
260
+ TODO("v11 only")
261
+ }
262
+
263
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightIntensity(expression: Double) {
264
+ TODO("v11 only")
265
+ }
266
+
267
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundAttenuation(expression: Double) {
268
+ TODO("v11 only")
269
+ }
270
+
271
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundAttenuationTransition(transition: StyleTransition) {
272
+ TODO("v11 only")
273
+ }
274
+
275
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionWallRadius(expression: Double) {
276
+ TODO("v11 only")
277
+ }
278
+
279
+ internal fun SymbolLayer.iconImageCrossFade(expression: Double) {
280
+ TODO("v11 only")
281
+ }
282
+
283
+ internal fun SymbolLayer.iconEmissiveStrength(expression: Double) {
284
+ TODO("v11 only")
285
+ }
286
+
287
+ internal fun FillExtrusionLayer.fillExtrusionVerticalScale(expression: Double) {
288
+ TODO("v11 only")
289
+ }
290
+
291
+ internal fun FillExtrusionLayer.fillExtrusionVerticalScale(expression: Expression) {
292
+ TODO("v11 only")
293
+ }
294
+
295
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundAttenuationTransition(transition: StyleTransition) {
296
+ TODO("v11 only")
297
+ }
298
+
299
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundAttenuation(expression: Expression) {
300
+ TODO("v11 only")
301
+ }
302
+
303
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundRadiusTransition(transition: StyleTransition) {
304
+ TODO("v11 only")
305
+ }
306
+
307
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundRadius(expression: Double) {
308
+ TODO("v11 only")
309
+ }
310
+
311
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightGroundRadius(expression: Expression) {
312
+ TODO("v11 only")
313
+ }
314
+
315
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightWallRadiusTransition(transition: StyleTransition) {
316
+ TODO("v11 only")
317
+ }
318
+
319
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightWallRadius(expression: Double) {
320
+ TODO("v11 only")
321
+ }
322
+
323
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightWallRadius(expression: Expression) {
324
+ TODO("v11 only")
325
+ }
326
+
327
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightIntensityTransition(transition: StyleTransition) {
328
+ TODO("v11 only")
329
+ }
330
+
331
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightColorTransition(transition: StyleTransition) {
332
+ TODO("v11 only")
333
+ }
334
+
335
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightColor(expression: Int) {
336
+ TODO("v11 only")
337
+ }
338
+
339
+ internal fun FillExtrusionLayer.fillExtrusionFloodLightColor(expression: Expression) {
340
+ TODO("v11 only")
341
+ }
342
+
343
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundAttenuation(expression: Double) {
344
+ TODO("v11 only")
345
+ }
346
+
347
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundAttenuation(expression: Expression) {
348
+ TODO("v11 only")
349
+ }
350
+
351
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundRadiusTransition(transition: StyleTransition) {
352
+ TODO("v11 only")
353
+ }
354
+
355
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundRadius(expression: Double) {
356
+ TODO("v11 only")
357
+ }
358
+
359
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionGroundRadius(expression: Expression) {
360
+ TODO("v11 only")
361
+ }
362
+
363
+ internal fun FillExtrusionLayer.fillExtrusionAmbientOcclusionWallRadiusTransition(transition: StyleTransition) {
364
+ TODO("v11 only")
365
+ }
366
+
367
+ internal fun FillExtrusionLayer.fillExtrusionRoundedRoof(value: Boolean) {
368
+ TODO("v11 only")
369
+ }
370
+
371
+ internal fun CircleLayer.circleEmissiveStrengthTransition(transition: StyleTransition) {
372
+ TODO("v11 only")
373
+ }
374
+
375
+ internal fun CircleLayer.circleEmissiveStrength(expression: Double) {
376
+ TODO("v11 only")
377
+ }
378
+
379
+ internal fun CircleLayer.circleEmissiveStrength(expression: Expression) {
380
+ TODO("v11 only")
381
+ }
382
+
383
+ internal fun SymbolLayer.iconImageCrossFadeTransition(transition: StyleTransition) {
384
+ TODO("v11 only")
385
+ }
386
+
387
+ internal fun SymbolLayer.textEmissiveStrength(value: Expression) {
388
+ TODO("v11 only")
389
+ }
390
+
391
+ internal fun SymbolLayer.iconEmissiveStrengthTransition(transition: StyleTransition) {
392
+ TODO("v11 only")
393
+ }
394
+
395
+
@@ -0,0 +1,8 @@
1
+ package com.rnmapbox.rnmbx.v11compat.stylefactory;
2
+
3
+ import com.mapbox.maps.extension.style.expressions.generated.Expression
4
+ import com.mapbox.maps.extension.style.layers.generated.RasterLayer
5
+
6
+ fun RasterLayer.rasterColor(rasterColor: Int) {
7
+ this.rasterColor(Expression.color(rasterColor))
8
+ }