@rnmapbox/maps 10.0.0-beta.76 → 10.0.0-beta.77

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 (202) hide show
  1. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyle.kt +7 -1
  2. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +5 -5
  3. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +37 -10
  4. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.kt +21 -0
  5. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.kt +65 -0
  6. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.kt +40 -0
  7. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.kt +76 -0
  8. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.kt +43 -0
  9. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.kt +76 -0
  10. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.kt +40 -0
  11. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.kt +76 -0
  12. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.kt +40 -0
  13. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.kt +76 -0
  14. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.kt +40 -0
  15. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.kt +76 -0
  16. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.kt +18 -0
  17. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.kt +65 -0
  18. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.kt +76 -0
  19. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.kt +40 -0
  20. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.kt +76 -0
  21. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.kt +69 -0
  22. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.kt +54 -0
  23. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.kt +82 -0
  24. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.kt +30 -0
  25. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.kt +37 -0
  26. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.kt +32 -0
  27. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.kt +5 -0
  28. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.kt +10 -4
  29. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.kt +44 -0
  30. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.kt +69 -0
  31. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.kt +78 -0
  32. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.kt +69 -0
  33. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTSource.kt +101 -85
  34. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +4 -2
  35. package/ios/RCTMGL-v10/RCTMGLCamera.swift +11 -31
  36. package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +13 -1
  37. package/ios/RCTMGL-v10/RCTMGLLayer.swift +35 -6
  38. package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +27 -4
  39. package/ios/RCTMGL-v10/RCTMGLMapView.swift +4 -2
  40. package/ios/RCTMGL-v10/RCTMGLSource.swift +35 -17
  41. package/javascript/Mapbox.ts +4 -1
  42. package/javascript/components/AbstractLayer.tsx +2 -1
  43. package/javascript/components/BackgroundLayer.tsx +6 -1
  44. package/javascript/components/{Callout.js → Callout.tsx} +53 -45
  45. package/javascript/components/CircleLayer.tsx +5 -0
  46. package/javascript/components/FillExtrusionLayer.tsx +6 -1
  47. package/javascript/components/FillLayer.tsx +5 -0
  48. package/javascript/components/HeadingIndicator.tsx +24 -13
  49. package/javascript/components/HeatmapLayer.tsx +6 -1
  50. package/javascript/components/ImageSource.tsx +5 -0
  51. package/javascript/components/LineLayer.tsx +5 -0
  52. package/javascript/components/PointAnnotation.tsx +8 -4
  53. package/javascript/components/RasterDemSource.tsx +5 -0
  54. package/javascript/components/RasterLayer.tsx +6 -1
  55. package/javascript/components/RasterSource.tsx +5 -0
  56. package/javascript/components/ShapeSource.tsx +5 -0
  57. package/javascript/components/SkyLayer.tsx +5 -0
  58. package/javascript/components/SymbolLayer.tsx +6 -1
  59. package/javascript/components/UserLocation.tsx +1 -1
  60. package/javascript/components/VectorSource.tsx +5 -0
  61. package/javascript/types/BaseProps.ts +1 -0
  62. package/javascript/utils/index.ts +0 -8
  63. package/javascript/utils/styleMap.ts +0 -1598
  64. package/lib/commonjs/Mapbox.js +8 -1
  65. package/lib/commonjs/Mapbox.js.map +1 -1
  66. package/lib/commonjs/components/AbstractLayer.js +1 -2
  67. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  68. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  69. package/lib/commonjs/components/Callout.js +7 -33
  70. package/lib/commonjs/components/Callout.js.map +1 -1
  71. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  72. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  73. package/lib/commonjs/components/FillLayer.js.map +1 -1
  74. package/lib/commonjs/components/HeadingIndicator.js +12 -3
  75. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  76. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  77. package/lib/commonjs/components/ImageSource.js.map +1 -1
  78. package/lib/commonjs/components/LineLayer.js.map +1 -1
  79. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  80. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  81. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  82. package/lib/commonjs/components/RasterSource.js.map +1 -1
  83. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  84. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  85. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  86. package/lib/commonjs/components/UserLocation.js +2 -1
  87. package/lib/commonjs/components/UserLocation.js.map +1 -1
  88. package/lib/commonjs/components/VectorSource.js.map +1 -1
  89. package/lib/commonjs/utils/index.js +0 -16
  90. package/lib/commonjs/utils/index.js.map +1 -1
  91. package/lib/commonjs/utils/styleMap.js +1 -1217
  92. package/lib/commonjs/utils/styleMap.js.map +1 -1
  93. package/lib/module/Mapbox.js +1 -1
  94. package/lib/module/Mapbox.js.map +1 -1
  95. package/lib/module/components/AbstractLayer.js +1 -1
  96. package/lib/module/components/AbstractLayer.js.map +1 -1
  97. package/lib/module/components/BackgroundLayer.js.map +1 -1
  98. package/lib/module/components/Callout.js +7 -33
  99. package/lib/module/components/Callout.js.map +1 -1
  100. package/lib/module/components/CircleLayer.js.map +1 -1
  101. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  102. package/lib/module/components/FillLayer.js.map +1 -1
  103. package/lib/module/components/HeadingIndicator.js +12 -3
  104. package/lib/module/components/HeadingIndicator.js.map +1 -1
  105. package/lib/module/components/HeatmapLayer.js.map +1 -1
  106. package/lib/module/components/ImageSource.js.map +1 -1
  107. package/lib/module/components/LineLayer.js.map +1 -1
  108. package/lib/module/components/PointAnnotation.js.map +1 -1
  109. package/lib/module/components/RasterDemSource.js.map +1 -1
  110. package/lib/module/components/RasterLayer.js.map +1 -1
  111. package/lib/module/components/RasterSource.js.map +1 -1
  112. package/lib/module/components/ShapeSource.js.map +1 -1
  113. package/lib/module/components/SkyLayer.js.map +1 -1
  114. package/lib/module/components/SymbolLayer.js.map +1 -1
  115. package/lib/module/components/UserLocation.js +2 -1
  116. package/lib/module/components/UserLocation.js.map +1 -1
  117. package/lib/module/components/VectorSource.js.map +1 -1
  118. package/lib/module/utils/index.js +0 -14
  119. package/lib/module/utils/index.js.map +1 -1
  120. package/lib/module/utils/styleMap.js +0 -1201
  121. package/lib/module/utils/styleMap.js.map +1 -1
  122. package/lib/typescript/Mapbox.d.ts +1 -1
  123. package/lib/typescript/Mapbox.d.ts.map +1 -1
  124. package/lib/typescript/components/AbstractLayer.d.ts +1 -0
  125. package/lib/typescript/components/AbstractLayer.d.ts.map +1 -1
  126. package/lib/typescript/components/BackgroundLayer.d.ts +5 -1
  127. package/lib/typescript/components/BackgroundLayer.d.ts.map +1 -1
  128. package/lib/typescript/components/Callout.d.ts +41 -0
  129. package/lib/typescript/components/Callout.d.ts.map +1 -0
  130. package/lib/typescript/components/CircleLayer.d.ts +4 -0
  131. package/lib/typescript/components/CircleLayer.d.ts.map +1 -1
  132. package/lib/typescript/components/FillExtrusionLayer.d.ts +5 -1
  133. package/lib/typescript/components/FillExtrusionLayer.d.ts.map +1 -1
  134. package/lib/typescript/components/FillLayer.d.ts +4 -0
  135. package/lib/typescript/components/FillLayer.d.ts.map +1 -1
  136. package/lib/typescript/components/HeadingIndicator.d.ts +2 -1
  137. package/lib/typescript/components/HeadingIndicator.d.ts.map +1 -1
  138. package/lib/typescript/components/HeatmapLayer.d.ts +5 -1
  139. package/lib/typescript/components/HeatmapLayer.d.ts.map +1 -1
  140. package/lib/typescript/components/ImageSource.d.ts +4 -0
  141. package/lib/typescript/components/ImageSource.d.ts.map +1 -1
  142. package/lib/typescript/components/LineLayer.d.ts +4 -0
  143. package/lib/typescript/components/LineLayer.d.ts.map +1 -1
  144. package/lib/typescript/components/PointAnnotation.d.ts +5 -9
  145. package/lib/typescript/components/PointAnnotation.d.ts.map +1 -1
  146. package/lib/typescript/components/RasterDemSource.d.ts +4 -0
  147. package/lib/typescript/components/RasterDemSource.d.ts.map +1 -1
  148. package/lib/typescript/components/RasterLayer.d.ts +5 -1
  149. package/lib/typescript/components/RasterLayer.d.ts.map +1 -1
  150. package/lib/typescript/components/RasterSource.d.ts +4 -0
  151. package/lib/typescript/components/RasterSource.d.ts.map +1 -1
  152. package/lib/typescript/components/ShapeSource.d.ts +4 -0
  153. package/lib/typescript/components/ShapeSource.d.ts.map +1 -1
  154. package/lib/typescript/components/SkyLayer.d.ts +4 -0
  155. package/lib/typescript/components/SkyLayer.d.ts.map +1 -1
  156. package/lib/typescript/components/SymbolLayer.d.ts +5 -1
  157. package/lib/typescript/components/SymbolLayer.d.ts.map +1 -1
  158. package/lib/typescript/components/VectorSource.d.ts +4 -0
  159. package/lib/typescript/components/VectorSource.d.ts.map +1 -1
  160. package/lib/typescript/types/BaseProps.d.ts +1 -0
  161. package/lib/typescript/types/BaseProps.d.ts.map +1 -1
  162. package/lib/typescript/utils/index.d.ts +0 -14
  163. package/lib/typescript/utils/index.d.ts.map +1 -1
  164. package/lib/typescript/utils/styleMap.d.ts +0 -1406
  165. package/lib/typescript/utils/styleMap.d.ts.map +1 -1
  166. package/package.json +35 -37
  167. package/plugin/build/withMapbox.d.ts +10 -6
  168. package/plugin/build/withMapbox.js +119 -137
  169. package/plugin/install.md +21 -0
  170. package/plugin/src/withMapbox.ts +166 -138
  171. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +0 -23
  172. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +0 -60
  173. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +0 -53
  174. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +0 -73
  175. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +0 -51
  176. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +0 -76
  177. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +0 -51
  178. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +0 -77
  179. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +0 -51
  180. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +0 -73
  181. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +0 -51
  182. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +0 -75
  183. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +0 -24
  184. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +0 -60
  185. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.java +0 -73
  186. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +0 -51
  187. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +0 -71
  188. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +0 -76
  189. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +0 -68
  190. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.java +0 -122
  191. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.java +0 -64
  192. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +0 -43
  193. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +0 -39
  194. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +0 -103
  195. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +0 -80
  196. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +0 -100
  197. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +0 -80
  198. package/javascript/components/Callout.d.ts +0 -35
  199. package/lib/commonjs/components/Callout.d.js +0 -9
  200. package/lib/commonjs/components/Callout.d.js.map +0 -1
  201. package/lib/module/components/Callout.d.js +0 -2
  202. package/lib/module/components/Callout.d.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+
9
+ class RCTMGLHeatmapLayerManager : ViewGroupManager<RCTMGLHeatmapLayer>() {
10
+ override fun getName(): String {
11
+ return REACT_CLASS
12
+ }
13
+
14
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLHeatmapLayer {
15
+ return RCTMGLHeatmapLayer(reactContext)
16
+ }
17
+
18
+ @ReactProp(name = "id")
19
+ fun setId(layer: RCTMGLHeatmapLayer, id: String?) {
20
+ layer.iD = id
21
+ }
22
+
23
+ @ReactProp(name = "existing")
24
+ fun setExisting(layer: RCTMGLHeatmapLayer, existing: Boolean) {
25
+ layer.setExisting(existing)
26
+ }
27
+
28
+ @ReactProp(name = "sourceID")
29
+ fun setSourceID(layer: RCTMGLHeatmapLayer, sourceID: String?) {
30
+ layer.setSourceID(sourceID)
31
+ }
32
+
33
+ @ReactProp(name = "aboveLayerID")
34
+ fun setAboveLayerID(layer: RCTMGLHeatmapLayer, aboveLayerID: String?) {
35
+ layer.setAboveLayerID(aboveLayerID)
36
+ }
37
+
38
+ @ReactProp(name = "belowLayerID")
39
+ fun setBelowLayerID(layer: RCTMGLHeatmapLayer, belowLayerID: String?) {
40
+ layer.setBelowLayerID(belowLayerID)
41
+ }
42
+
43
+ @ReactProp(name = "layerIndex")
44
+ fun setLayerIndex(layer: RCTMGLHeatmapLayer, layerIndex: Int) {
45
+ layer.setLayerIndex(layerIndex)
46
+ }
47
+
48
+ @ReactProp(name = "minZoomLevel")
49
+ fun setMinZoomLevel(layer: RCTMGLHeatmapLayer, minZoomLevel: Double) {
50
+ layer.setMinZoomLevel(minZoomLevel)
51
+ }
52
+
53
+ @ReactProp(name = "maxZoomLevel")
54
+ fun setMaxZoomLevel(layer: RCTMGLHeatmapLayer, maxZoomLevel: Double) {
55
+ layer.setMaxZoomLevel(maxZoomLevel)
56
+ }
57
+
58
+ @ReactProp(name = "reactStyle")
59
+ fun setReactStyle(layer: RCTMGLHeatmapLayer, style: ReadableMap?) {
60
+ layer.setReactStyle(style)
61
+ }
62
+
63
+ @ReactProp(name = "sourceLayerID")
64
+ fun setSourceLayerId(layer: RCTMGLHeatmapLayer, sourceLayerID: String?) {
65
+ layer.setSourceLayerID(sourceLayerID)
66
+ }
67
+
68
+ @ReactProp(name = "filter")
69
+ fun setFilter(layer: RCTMGLHeatmapLayer, filterList: ReadableArray?) {
70
+ layer.setFilter(filterList)
71
+ }
72
+
73
+ companion object {
74
+ const val REACT_CLASS = "RCTMGLHeatmapLayer"
75
+ }
76
+ }
@@ -0,0 +1,40 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import android.content.Context
4
+ import com.mapbox.maps.extension.style.expressions.generated.Expression
5
+ import com.mapbox.maps.extension.style.layers.generated.LineLayer
6
+ import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
7
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyle
8
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
9
+
10
+ class RCTMGLLineLayer(context: Context?) : RCTLayer<LineLayer?>(
11
+ context!!
12
+ ) {
13
+ private var mSourceLayerID: String? = null
14
+ override fun updateFilter(expression: Expression?) {
15
+ mLayer!!.filter(expression!!)
16
+ }
17
+
18
+ override fun addToMap(mapView: RCTMGLMapView) {
19
+ super.addToMap(mapView)
20
+ }
21
+
22
+ override fun makeLayer(): LineLayer {
23
+ val layer = LineLayer(iD!!, mSourceID!!)
24
+ if (mSourceLayerID != null) {
25
+ layer.sourceLayer(mSourceLayerID!!)
26
+ }
27
+ return layer
28
+ }
29
+
30
+ override fun addStyles() {
31
+ RCTMGLStyleFactory.setLineLayerStyle(mLayer, RCTMGLStyle(context, mReactStyle, mMap!!))
32
+ }
33
+
34
+ fun setSourceLayerID(sourceLayerID: String?) {
35
+ mSourceLayerID = sourceLayerID
36
+ if (mLayer != null) {
37
+ mLayer!!.sourceLayer(mSourceLayerID!!)
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,76 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+
9
+ class RCTMGLLineLayerManager : ViewGroupManager<RCTMGLLineLayer>() {
10
+ override fun getName(): String {
11
+ return REACT_CLASS
12
+ }
13
+
14
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLLineLayer {
15
+ return RCTMGLLineLayer(reactContext)
16
+ }
17
+
18
+ @ReactProp(name = "id")
19
+ fun setId(layer: RCTMGLLineLayer, id: String?) {
20
+ layer.iD = id
21
+ }
22
+
23
+ @ReactProp(name = "existing")
24
+ fun setExisting(layer: RCTMGLLineLayer, existing: Boolean) {
25
+ layer.setExisting(existing)
26
+ }
27
+
28
+ @ReactProp(name = "sourceID")
29
+ fun setSourceID(layer: RCTMGLLineLayer, sourceID: String?) {
30
+ layer.setSourceID(sourceID)
31
+ }
32
+
33
+ @ReactProp(name = "aboveLayerID")
34
+ fun setAboveLayerID(layer: RCTMGLLineLayer, aboveLayerID: String?) {
35
+ layer.setAboveLayerID(aboveLayerID)
36
+ }
37
+
38
+ @ReactProp(name = "belowLayerID")
39
+ fun setBelowLayerID(layer: RCTMGLLineLayer, belowLayerID: String?) {
40
+ layer.setBelowLayerID(belowLayerID)
41
+ }
42
+
43
+ @ReactProp(name = "layerIndex")
44
+ fun setLayerIndex(layer: RCTMGLLineLayer, layerIndex: Int) {
45
+ layer.setLayerIndex(layerIndex)
46
+ }
47
+
48
+ @ReactProp(name = "minZoomLevel")
49
+ fun setMinZoomLevel(layer: RCTMGLLineLayer, minZoomLevel: Double) {
50
+ layer.setMinZoomLevel(minZoomLevel)
51
+ }
52
+
53
+ @ReactProp(name = "maxZoomLevel")
54
+ fun setMaxZoomLevel(layer: RCTMGLLineLayer, maxZoomLevel: Double) {
55
+ layer.setMaxZoomLevel(maxZoomLevel)
56
+ }
57
+
58
+ @ReactProp(name = "reactStyle")
59
+ fun setReactStyle(layer: RCTMGLLineLayer, style: ReadableMap?) {
60
+ layer.setReactStyle(style)
61
+ }
62
+
63
+ @ReactProp(name = "sourceLayerID")
64
+ fun setSourceLayerId(layer: RCTMGLLineLayer, sourceLayerID: String?) {
65
+ layer.setSourceLayerID(sourceLayerID)
66
+ }
67
+
68
+ @ReactProp(name = "filter")
69
+ fun setFilter(layer: RCTMGLLineLayer, filterList: ReadableArray?) {
70
+ layer.setFilter(filterList)
71
+ }
72
+
73
+ companion object {
74
+ const val REACT_CLASS = "RCTMGLLineLayer"
75
+ }
76
+ }
@@ -0,0 +1,18 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import android.content.Context
4
+ import com.mapbox.maps.extension.style.layers.generated.RasterLayer
5
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyle
6
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
7
+
8
+ class RCTMGLRasterLayer(context: Context?) : RCTLayer<RasterLayer?>(
9
+ context!!
10
+ ) {
11
+ override fun makeLayer(): RasterLayer {
12
+ return RasterLayer(iD!!, mSourceID!!)
13
+ }
14
+
15
+ override fun addStyles() {
16
+ RCTMGLStyleFactory.setRasterLayerStyle(mLayer, RCTMGLStyle(context, mReactStyle, mMap!!))
17
+ }
18
+ }
@@ -0,0 +1,65 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.uimanager.ThemedReactContext
5
+ import com.facebook.react.uimanager.ViewGroupManager
6
+ import com.facebook.react.uimanager.annotations.ReactProp
7
+
8
+ class RCTMGLRasterLayerManager : ViewGroupManager<RCTMGLRasterLayer>() {
9
+ override fun getName(): String {
10
+ return REACT_CLASS
11
+ }
12
+
13
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLRasterLayer {
14
+ return RCTMGLRasterLayer(reactContext)
15
+ }
16
+
17
+ @ReactProp(name = "id")
18
+ fun setId(layer: RCTMGLRasterLayer, id: String?) {
19
+ layer.iD = id
20
+ }
21
+
22
+ @ReactProp(name = "existing")
23
+ fun setExisting(layer: RCTMGLRasterLayer, existing: Boolean) {
24
+ layer.setExisting(existing)
25
+ }
26
+
27
+ @ReactProp(name = "sourceID")
28
+ fun setSourceID(layer: RCTMGLRasterLayer, sourceID: String?) {
29
+ layer.setSourceID(sourceID)
30
+ }
31
+
32
+ @ReactProp(name = "aboveLayerID")
33
+ fun setAboveLayerID(layer: RCTMGLRasterLayer, aboveLayerID: String?) {
34
+ layer.setAboveLayerID(aboveLayerID)
35
+ }
36
+
37
+ @ReactProp(name = "belowLayerID")
38
+ fun setBelowLayerID(layer: RCTMGLRasterLayer, belowLayerID: String?) {
39
+ layer.setBelowLayerID(belowLayerID)
40
+ }
41
+
42
+ @ReactProp(name = "layerIndex")
43
+ fun setLayerIndex(layer: RCTMGLRasterLayer, layerIndex: Int) {
44
+ layer.setLayerIndex(layerIndex)
45
+ }
46
+
47
+ @ReactProp(name = "minZoomLevel")
48
+ fun setMinZoomLevel(layer: RCTMGLRasterLayer, minZoomLevel: Double) {
49
+ layer.setMinZoomLevel(minZoomLevel)
50
+ }
51
+
52
+ @ReactProp(name = "maxZoomLevel")
53
+ fun setMaxZoomLevel(layer: RCTMGLRasterLayer, maxZoomLevel: Double) {
54
+ layer.setMaxZoomLevel(maxZoomLevel)
55
+ }
56
+
57
+ @ReactProp(name = "reactStyle")
58
+ fun setReactStyle(layer: RCTMGLRasterLayer, style: ReadableMap?) {
59
+ layer.setReactStyle(style)
60
+ }
61
+
62
+ companion object {
63
+ const val REACT_CLASS = "RCTMGLRasterLayer"
64
+ }
65
+ }
@@ -0,0 +1,76 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+
9
+ class RCTMGLSkyLayerManager : ViewGroupManager<RCTMGLSkyLayer>() {
10
+ override fun getName(): String {
11
+ return REACT_CLASS
12
+ }
13
+
14
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLSkyLayer {
15
+ return RCTMGLSkyLayer(reactContext)
16
+ }
17
+
18
+ @ReactProp(name = "id")
19
+ fun setId(layer: RCTMGLSkyLayer, id: String?) {
20
+ layer.iD = id
21
+ }
22
+
23
+ @ReactProp(name = "existing")
24
+ fun setExisting(layer: RCTMGLSkyLayer, existing: Boolean) {
25
+ layer.setExisting(existing)
26
+ }
27
+
28
+ @ReactProp(name = "sourceID")
29
+ fun setSourceID(layer: RCTMGLSkyLayer, sourceID: String?) {
30
+ layer.setSourceID(sourceID)
31
+ }
32
+
33
+ @ReactProp(name = "aboveLayerID")
34
+ fun setAboveLayerID(layer: RCTMGLLineLayer, aboveLayerID: String?) {
35
+ layer.setAboveLayerID(aboveLayerID)
36
+ }
37
+
38
+ @ReactProp(name = "belowLayerID")
39
+ fun setBelowLayerID(layer: RCTMGLLineLayer, belowLayerID: String?) {
40
+ layer.setBelowLayerID(belowLayerID)
41
+ }
42
+
43
+ @ReactProp(name = "layerIndex")
44
+ fun setLayerIndex(layer: RCTMGLLineLayer, layerIndex: Int) {
45
+ layer.setLayerIndex(layerIndex)
46
+ }
47
+
48
+ @ReactProp(name = "minZoomLevel")
49
+ fun setMinZoomLevel(layer: RCTMGLLineLayer, minZoomLevel: Double) {
50
+ layer.setMinZoomLevel(minZoomLevel)
51
+ }
52
+
53
+ @ReactProp(name = "maxZoomLevel")
54
+ fun setMaxZoomLevel(layer: RCTMGLSkyLayer, maxZoomLevel: Double) {
55
+ layer.setMaxZoomLevel(maxZoomLevel)
56
+ }
57
+
58
+ @ReactProp(name = "reactStyle")
59
+ fun setReactStyle(layer: RCTMGLSkyLayer, style: ReadableMap?) {
60
+ layer.setReactStyle(style)
61
+ }
62
+
63
+ @ReactProp(name = "sourceLayerID")
64
+ fun setSourceLayerId(layer: RCTMGLSkyLayer, sourceLayerID: String?) {
65
+ layer.setSourceLayerID(sourceLayerID)
66
+ }
67
+
68
+ @ReactProp(name = "filter")
69
+ fun setFilter(layer: RCTMGLSkyLayer, filterList: ReadableArray?) {
70
+ layer.setFilter(filterList)
71
+ }
72
+
73
+ companion object {
74
+ const val REACT_CLASS = "RCTMGLSkyLayer"
75
+ }
76
+ }
@@ -0,0 +1,40 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import android.content.Context
4
+ import com.mapbox.maps.extension.style.expressions.generated.Expression
5
+ import com.mapbox.maps.extension.style.layers.generated.SymbolLayer
6
+ import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
7
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyle
8
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
9
+
10
+ class RCTMGLSymbolLayer(context: Context?) : RCTLayer<SymbolLayer?>(
11
+ context!!
12
+ ) {
13
+ private var mSourceLayerID: String? = null
14
+ override fun updateFilter(expression: Expression?) {
15
+ mLayer!!.filter(expression!!)
16
+ }
17
+
18
+ override fun addToMap(mapView: RCTMGLMapView) {
19
+ super.addToMap(mapView)
20
+ }
21
+
22
+ override fun makeLayer(): SymbolLayer {
23
+ val layer = SymbolLayer(iD!!, mSourceID!!)
24
+ if (mSourceLayerID != null) {
25
+ layer.sourceLayer(mSourceLayerID!!)
26
+ }
27
+ return layer
28
+ }
29
+
30
+ override fun addStyles() {
31
+ RCTMGLStyleFactory.setSymbolLayerStyle(mLayer, RCTMGLStyle(context, mReactStyle, mMap!!))
32
+ }
33
+
34
+ fun setSourceLayerID(sourceLayerID: String?) {
35
+ mSourceLayerID = sourceLayerID
36
+ if (mLayer != null) {
37
+ mLayer!!.sourceLayer(sourceLayerID!!)
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,76 @@
1
+ package com.mapbox.rctmgl.components.styles.layers
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+
9
+ class RCTMGLSymbolLayerManager : ViewGroupManager<RCTMGLSymbolLayer>() {
10
+ override fun getName(): String {
11
+ return REACT_CLASS
12
+ }
13
+
14
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLSymbolLayer {
15
+ return RCTMGLSymbolLayer(reactContext)
16
+ }
17
+
18
+ @ReactProp(name = "id")
19
+ fun setId(layer: RCTMGLSymbolLayer, id: String?) {
20
+ layer.iD = id
21
+ }
22
+
23
+ @ReactProp(name = "existing")
24
+ fun setExisting(layer: RCTMGLSymbolLayer, existing: Boolean) {
25
+ layer.setExisting(existing)
26
+ }
27
+
28
+ @ReactProp(name = "sourceID")
29
+ fun setSourceID(layer: RCTMGLSymbolLayer, sourceID: String?) {
30
+ layer.setSourceID(sourceID)
31
+ }
32
+
33
+ @ReactProp(name = "aboveLayerID")
34
+ fun setAboveLayerID(layer: RCTMGLSymbolLayer, aboveLayerID: String?) {
35
+ layer.setAboveLayerID(aboveLayerID)
36
+ }
37
+
38
+ @ReactProp(name = "belowLayerID")
39
+ fun setBelowLayerID(layer: RCTMGLSymbolLayer, belowLayerID: String?) {
40
+ layer.setBelowLayerID(belowLayerID)
41
+ }
42
+
43
+ @ReactProp(name = "layerIndex")
44
+ fun setLayerIndex(layer: RCTMGLSymbolLayer, layerIndex: Int) {
45
+ layer.setLayerIndex(layerIndex)
46
+ }
47
+
48
+ @ReactProp(name = "minZoomLevel")
49
+ fun setMinZoomLevel(layer: RCTMGLSymbolLayer, minZoomLevel: Double) {
50
+ layer.setMinZoomLevel(minZoomLevel)
51
+ }
52
+
53
+ @ReactProp(name = "maxZoomLevel")
54
+ fun setMaxZoomLevel(layer: RCTMGLSymbolLayer, maxZoomLevel: Double) {
55
+ layer.setMaxZoomLevel(maxZoomLevel)
56
+ }
57
+
58
+ @ReactProp(name = "reactStyle")
59
+ fun setReactStyle(layer: RCTMGLSymbolLayer, style: ReadableMap?) {
60
+ layer.setReactStyle(style)
61
+ }
62
+
63
+ @ReactProp(name = "sourceLayerID")
64
+ fun setSourceLayerId(layer: RCTMGLSymbolLayer, sourceLayerID: String?) {
65
+ layer.setSourceLayerID(sourceLayerID)
66
+ }
67
+
68
+ @ReactProp(name = "filter")
69
+ fun setFilter(layer: RCTMGLSymbolLayer, filterList: ReadableArray?) {
70
+ layer.setFilter(filterList)
71
+ }
72
+
73
+ companion object {
74
+ const val REACT_CLASS = "RCTMGLSymbolLayer"
75
+ }
76
+ }
@@ -0,0 +1,69 @@
1
+ package com.mapbox.rctmgl.components.styles.sources
2
+
3
+ import android.content.Context
4
+ import android.net.Uri
5
+ import android.util.Log
6
+ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper
7
+ import com.mapbox.maps.extension.style.sources.generated.ImageSource
8
+ import com.mapbox.rctmgl.utils.LatLngQuad
9
+ import java.net.URL
10
+
11
+ class RCTMGLImageSource(context: Context?) : RCTSource<ImageSource?>(context) {
12
+ private var mURL: URL? = null
13
+ private var mResourceId = 0
14
+ private var mCoordQuad: LatLngQuad? = null
15
+
16
+ override fun hasNoDataSoRefersToExisting(): Boolean {
17
+ return mURL == null
18
+ }
19
+
20
+ override fun makeSource(): ImageSource? {
21
+ if (mURL == null) {
22
+ throw RuntimeException("ImageSource without URL not supported in v10, resourceId is not supported")
23
+ }
24
+ val id = iD;
25
+ if (id == null) {
26
+ throw RuntimeException("ImageSource without ID not supported in v10")
27
+ }
28
+ return ImageSource.Builder(id).coordinates(mCoordQuad!!.coordinates).url(mURL.toString()).build()
29
+ }
30
+
31
+ override fun onPress(feature: OnPressEvent?) {
32
+ // ignore, we cannot query raster layers
33
+ }
34
+
35
+ fun setURL(url: String?) {
36
+ try {
37
+ val uri = Uri.parse(url)
38
+ if (uri.scheme == null) {
39
+ mResourceId =
40
+ ResourceDrawableIdHelper.getInstance().getResourceDrawableId(this.context, url)
41
+ if (mSource != null) {
42
+ throw RuntimeException("ImageSource Resource id not supported in v10")
43
+ }
44
+ } else {
45
+ mURL = URL(url)
46
+ if (mSource != null) {
47
+ mSource!!.url(mURL.toString())
48
+ }
49
+ }
50
+ } catch (e: Exception) {
51
+ Log.w(LOG_TAG, e.localizedMessage)
52
+ }
53
+ }
54
+
55
+ fun setCoordinates(coordQuad: LatLngQuad?) {
56
+ mCoordQuad = coordQuad
57
+ try {
58
+ if (mSource != null) {
59
+ mSource!!.coordinates(mCoordQuad!!.coordinates)
60
+ }
61
+ } catch (e: Exception) {
62
+ Log.w(LOG_TAG, e.localizedMessage)
63
+ }
64
+ }
65
+
66
+ companion object {
67
+ const val LOG_TAG = "RCTMGLImageSource"
68
+ }
69
+ }
@@ -0,0 +1,54 @@
1
+ package com.mapbox.rctmgl.components.styles.sources
2
+
3
+ import android.view.View
4
+ import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+ import com.mapbox.rctmgl.utils.GeoJSONUtils.toLatLngQuad
9
+
10
+ class RCTMGLImageSourceManager : ViewGroupManager<RCTMGLImageSource>() {
11
+ override fun getName(): String {
12
+ return REACT_CLASS
13
+ }
14
+
15
+ override fun createViewInstance(reactContext: ThemedReactContext): RCTMGLImageSource {
16
+ return RCTMGLImageSource(reactContext)
17
+ }
18
+
19
+ override fun getChildAt(source: RCTMGLImageSource, childPosition: Int): View {
20
+ return source.getChildAt(childPosition)
21
+ }
22
+
23
+ override fun getChildCount(source: RCTMGLImageSource): Int {
24
+ return source.childCount
25
+ }
26
+
27
+ override fun addView(source: RCTMGLImageSource, childView: View, childPosition: Int) {
28
+ source.addLayer(childView, childPosition)
29
+ }
30
+
31
+ override fun removeViewAt(source: RCTMGLImageSource, childPosition: Int) {
32
+ source.removeLayer(childPosition)
33
+ }
34
+
35
+ @ReactProp(name = "id")
36
+ fun setId(source: RCTMGLImageSource, id: String?) {
37
+ source.iD = id
38
+ }
39
+
40
+ @ReactProp(name = "url")
41
+ fun setUrl(source: RCTMGLImageSource, url: String?) {
42
+ source.setURL(url)
43
+ }
44
+
45
+ @ReactProp(name = "coordinates")
46
+ fun setCoordinates(source: RCTMGLImageSource, arr: ReadableArray?) {
47
+ val quad = toLatLngQuad(arr) ?: return
48
+ source.setCoordinates(quad)
49
+ }
50
+
51
+ companion object {
52
+ const val REACT_CLASS = "RCTMGLImageSource"
53
+ }
54
+ }
@@ -0,0 +1,82 @@
1
+ package com.mapbox.rctmgl.components.styles.sources
2
+
3
+ import android.content.Context
4
+ import androidx.annotation.Size
5
+ import com.facebook.react.bridge.WritableMap
6
+ import com.facebook.react.bridge.WritableNativeMap
7
+ import com.mapbox.geojson.Feature
8
+ import com.mapbox.geojson.FeatureCollection
9
+ import com.mapbox.maps.SourceQueryOptions
10
+ import com.mapbox.maps.extension.style.expressions.generated.Expression
11
+ import com.mapbox.maps.extension.style.sources.generated.RasterDemSource
12
+ import com.mapbox.maps.extension.style.sources.getSource
13
+ import com.mapbox.rctmgl.events.AndroidCallbackEvent
14
+ import com.mapbox.rctmgl.events.FeatureClickEvent
15
+ import com.mapbox.rctmgl.utils.Logger
16
+ import java.util.*
17
+
18
+ // import com.mapbox.rctmgl.R;
19
+ // import com.mapbox.rctmgl.utils.DownloadMapImageTask;
20
+ class RCTMGLRasterDemSource(context: Context?, private val mManager: RCTMGLRasterDemSourceManager) :
21
+ RCTMGLTileSource<RasterDemSource?>(context) {
22
+ override fun onPress(event: OnPressEvent?) {
23
+ mManager.handleEvent(FeatureClickEvent.makeVectorSourceEvent(this, event))
24
+ }
25
+
26
+ override fun makeSource(): RasterDemSource? {
27
+ val id = iD
28
+ if (id == null) {
29
+ Logger.w("RCTMGLRasterDemSource", "id is required")
30
+ return null
31
+ }
32
+ if (isDefaultSource(id)) {
33
+ return mMap!!.getStyle()!!.getSource(DEFAULT_ID) as RasterDemSource
34
+ }
35
+ val configurationUrl = uRL
36
+ return if (configurationUrl != null) {
37
+ RasterDemSource(
38
+ RasterDemSource.Builder(id)
39
+ .url(configurationUrl)
40
+ )
41
+ } else RasterDemSource(
42
+ RasterDemSource.Builder(id)
43
+ .tileSet(buildTileset())
44
+ )
45
+ }
46
+
47
+ fun querySourceFeatures(
48
+ callbackID: String?,
49
+ @Size(min = 1) layerIDs: List<String?>?,
50
+ filter: Expression?
51
+ ) {
52
+ if (mSource == null) {
53
+ val payload: WritableMap = WritableNativeMap()
54
+ payload.putString("error", "source is not yet loaded")
55
+ val event = AndroidCallbackEvent(this, callbackID, payload)
56
+ mManager.handleEvent(event)
57
+ return
58
+ }
59
+ val payload: WritableMap = WritableNativeMap()
60
+ mMap!!.querySourceFeatures(
61
+ iD!!,
62
+ SourceQueryOptions(layerIDs, filter!!)
63
+ ) { queriedFeatures ->
64
+ if (queriedFeatures.isError) {
65
+ //V10todo
66
+ payload.putString("error", queriedFeatures.error)
67
+ } else {
68
+ val features: MutableList<Feature> = LinkedList()
69
+ for (feature in queriedFeatures.value!!) {
70
+ features.add(feature.feature)
71
+ }
72
+ payload.putString("data", FeatureCollection.fromFeatures(features).toJson())
73
+ }
74
+ }
75
+ val event = AndroidCallbackEvent(this, callbackID, payload)
76
+ mManager.handleEvent(event)
77
+ }
78
+
79
+ override fun hasNoDataSoRefersToExisting(): Boolean {
80
+ return uRL == null && tileUrlTemplates.isEmpty()
81
+ }
82
+ }