@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.
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyle.kt +7 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +5 -5
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +37 -10
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.kt +21 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.kt +65 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.kt +40 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.kt +43 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.kt +40 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.kt +40 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.kt +40 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.kt +18 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.kt +65 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.kt +40 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.kt +76 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.kt +69 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.kt +54 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.kt +82 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.kt +30 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.kt +37 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.kt +32 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.kt +5 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.kt +10 -4
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.kt +44 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.kt +69 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.kt +78 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.kt +69 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTSource.kt +101 -85
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +4 -2
- package/ios/RCTMGL-v10/RCTMGLCamera.swift +11 -31
- package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +13 -1
- package/ios/RCTMGL-v10/RCTMGLLayer.swift +35 -6
- package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +27 -4
- package/ios/RCTMGL-v10/RCTMGLMapView.swift +4 -2
- package/ios/RCTMGL-v10/RCTMGLSource.swift +35 -17
- package/javascript/Mapbox.ts +4 -1
- package/javascript/components/AbstractLayer.tsx +2 -1
- package/javascript/components/BackgroundLayer.tsx +6 -1
- package/javascript/components/{Callout.js → Callout.tsx} +53 -45
- package/javascript/components/CircleLayer.tsx +5 -0
- package/javascript/components/FillExtrusionLayer.tsx +6 -1
- package/javascript/components/FillLayer.tsx +5 -0
- package/javascript/components/HeadingIndicator.tsx +24 -13
- package/javascript/components/HeatmapLayer.tsx +6 -1
- package/javascript/components/ImageSource.tsx +5 -0
- package/javascript/components/LineLayer.tsx +5 -0
- package/javascript/components/PointAnnotation.tsx +8 -4
- package/javascript/components/RasterDemSource.tsx +5 -0
- package/javascript/components/RasterLayer.tsx +6 -1
- package/javascript/components/RasterSource.tsx +5 -0
- package/javascript/components/ShapeSource.tsx +5 -0
- package/javascript/components/SkyLayer.tsx +5 -0
- package/javascript/components/SymbolLayer.tsx +6 -1
- package/javascript/components/UserLocation.tsx +1 -1
- package/javascript/components/VectorSource.tsx +5 -0
- package/javascript/types/BaseProps.ts +1 -0
- package/javascript/utils/index.ts +0 -8
- package/javascript/utils/styleMap.ts +0 -1598
- package/lib/commonjs/Mapbox.js +8 -1
- package/lib/commonjs/Mapbox.js.map +1 -1
- package/lib/commonjs/components/AbstractLayer.js +1 -2
- package/lib/commonjs/components/AbstractLayer.js.map +1 -1
- package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
- package/lib/commonjs/components/Callout.js +7 -33
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/CircleLayer.js.map +1 -1
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js +12 -3
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/LineLayer.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterLayer.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/SkyLayer.js.map +1 -1
- package/lib/commonjs/components/SymbolLayer.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js +2 -1
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/utils/index.js +0 -16
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/styleMap.js +1 -1217
- package/lib/commonjs/utils/styleMap.js.map +1 -1
- package/lib/module/Mapbox.js +1 -1
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/components/AbstractLayer.js +1 -1
- package/lib/module/components/AbstractLayer.js.map +1 -1
- package/lib/module/components/BackgroundLayer.js.map +1 -1
- package/lib/module/components/Callout.js +7 -33
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/CircleLayer.js.map +1 -1
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js +12 -3
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- package/lib/module/components/HeatmapLayer.js.map +1 -1
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/LineLayer.js.map +1 -1
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterLayer.js.map +1 -1
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/SkyLayer.js.map +1 -1
- package/lib/module/components/SymbolLayer.js.map +1 -1
- package/lib/module/components/UserLocation.js +2 -1
- package/lib/module/components/UserLocation.js.map +1 -1
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/utils/index.js +0 -14
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/styleMap.js +0 -1201
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/typescript/Mapbox.d.ts +1 -1
- package/lib/typescript/Mapbox.d.ts.map +1 -1
- package/lib/typescript/components/AbstractLayer.d.ts +1 -0
- package/lib/typescript/components/AbstractLayer.d.ts.map +1 -1
- package/lib/typescript/components/BackgroundLayer.d.ts +5 -1
- package/lib/typescript/components/BackgroundLayer.d.ts.map +1 -1
- package/lib/typescript/components/Callout.d.ts +41 -0
- package/lib/typescript/components/Callout.d.ts.map +1 -0
- package/lib/typescript/components/CircleLayer.d.ts +4 -0
- package/lib/typescript/components/CircleLayer.d.ts.map +1 -1
- package/lib/typescript/components/FillExtrusionLayer.d.ts +5 -1
- package/lib/typescript/components/FillExtrusionLayer.d.ts.map +1 -1
- package/lib/typescript/components/FillLayer.d.ts +4 -0
- package/lib/typescript/components/FillLayer.d.ts.map +1 -1
- package/lib/typescript/components/HeadingIndicator.d.ts +2 -1
- package/lib/typescript/components/HeadingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HeatmapLayer.d.ts +5 -1
- package/lib/typescript/components/HeatmapLayer.d.ts.map +1 -1
- package/lib/typescript/components/ImageSource.d.ts +4 -0
- package/lib/typescript/components/ImageSource.d.ts.map +1 -1
- package/lib/typescript/components/LineLayer.d.ts +4 -0
- package/lib/typescript/components/LineLayer.d.ts.map +1 -1
- package/lib/typescript/components/PointAnnotation.d.ts +5 -9
- package/lib/typescript/components/PointAnnotation.d.ts.map +1 -1
- package/lib/typescript/components/RasterDemSource.d.ts +4 -0
- package/lib/typescript/components/RasterDemSource.d.ts.map +1 -1
- package/lib/typescript/components/RasterLayer.d.ts +5 -1
- package/lib/typescript/components/RasterLayer.d.ts.map +1 -1
- package/lib/typescript/components/RasterSource.d.ts +4 -0
- package/lib/typescript/components/RasterSource.d.ts.map +1 -1
- package/lib/typescript/components/ShapeSource.d.ts +4 -0
- package/lib/typescript/components/ShapeSource.d.ts.map +1 -1
- package/lib/typescript/components/SkyLayer.d.ts +4 -0
- package/lib/typescript/components/SkyLayer.d.ts.map +1 -1
- package/lib/typescript/components/SymbolLayer.d.ts +5 -1
- package/lib/typescript/components/SymbolLayer.d.ts.map +1 -1
- package/lib/typescript/components/VectorSource.d.ts +4 -0
- package/lib/typescript/components/VectorSource.d.ts.map +1 -1
- package/lib/typescript/types/BaseProps.d.ts +1 -0
- package/lib/typescript/types/BaseProps.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +0 -14
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/lib/typescript/utils/styleMap.d.ts +0 -1406
- package/lib/typescript/utils/styleMap.d.ts.map +1 -1
- package/package.json +35 -37
- package/plugin/build/withMapbox.d.ts +10 -6
- package/plugin/build/withMapbox.js +119 -137
- package/plugin/install.md +21 -0
- package/plugin/src/withMapbox.ts +166 -138
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +0 -23
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +0 -60
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +0 -53
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +0 -73
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +0 -51
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +0 -76
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +0 -51
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +0 -77
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +0 -51
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +0 -73
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +0 -51
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +0 -75
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +0 -24
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +0 -60
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.java +0 -73
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +0 -51
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +0 -71
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +0 -76
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +0 -68
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.java +0 -122
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.java +0 -64
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +0 -43
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +0 -39
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +0 -103
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +0 -80
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +0 -100
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +0 -80
- package/javascript/components/Callout.d.ts +0 -35
- package/lib/commonjs/components/Callout.d.js +0 -9
- package/lib/commonjs/components/Callout.d.js.map +0 -1
- package/lib/module/components/Callout.d.js +0 -2
- 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
|
+
}
|