@rnmapbox/maps 10.0.0-beta.71 → 10.0.0-beta.73
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/README.md +1 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/RCTMGLPackage.java +2 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.kt +0 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImage.kt +74 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImageManager.kt +67 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt +62 -35
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.kt +216 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +2 -1
- package/index.d.ts +13 -3
- package/ios/RCTMGL-v10/RCMTGLImage.swift +93 -0
- package/ios/RCTMGL-v10/RCMTGLImageManager.m +9 -0
- package/ios/RCTMGL-v10/RCMTGLImageManager.swift +14 -0
- package/ios/RCTMGL-v10/RCTMGLImages.swift +68 -9
- package/javascript/components/Image.tsx +63 -0
- package/javascript/components/Images.tsx +29 -6
- package/javascript/components/annotations/Annotation.js +9 -10
- package/javascript/index.js +3 -0
- package/javascript/modules/location/locationManager.ts +1 -1
- package/lib/commonjs/components/Image.js +34 -0
- package/lib/commonjs/components/Image.js.map +1 -0
- package/lib/commonjs/components/Images.js +13 -0
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/annotations/Annotation.js +6 -9
- package/lib/commonjs/components/annotations/Annotation.js.map +1 -1
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/Image.js +24 -0
- package/lib/module/components/Image.js.map +1 -0
- package/lib/module/components/Images.js +15 -2
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/annotations/Annotation.js +6 -9
- package/lib/module/components/annotations/Annotation.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/Image.d.ts +26 -0
- package/lib/typescript/components/Image.d.ts.map +1 -0
- package/lib/typescript/components/Images.d.ts +6 -4
- package/lib/typescript/components/Images.d.ts.map +1 -1
- package/lib/typescript/modules/location/locationManager.d.ts +1 -1
- package/lib/typescript/modules/location/locationManager.d.ts.map +1 -1
- package/package.json +1 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +0 -103
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import MapboxMaps
|
|
2
|
+
|
|
3
|
+
class RCTMGLImage : UIView {
|
|
4
|
+
@objc
|
|
5
|
+
var name: String = ""
|
|
6
|
+
|
|
7
|
+
var image: UIImage? = nil
|
|
8
|
+
|
|
9
|
+
var sdf: Bool? = nil
|
|
10
|
+
var stretchX: [[NSNumber]] = []
|
|
11
|
+
var stretchY: [[NSNumber]] = []
|
|
12
|
+
|
|
13
|
+
weak var images: RCTMGLImageSetter? = nil {
|
|
14
|
+
didSet {
|
|
15
|
+
DispatchQueue.main.async { self.setImage() }
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
weak var bridge : RCTBridge! = nil
|
|
19
|
+
|
|
20
|
+
var reactSubviews : [UIView] = []
|
|
21
|
+
|
|
22
|
+
// MARK: - subview management
|
|
23
|
+
|
|
24
|
+
@objc open override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
|
|
25
|
+
reactSubviews.insert(subview, at: atIndex)
|
|
26
|
+
if reactSubviews.count > 1 {
|
|
27
|
+
Logger.log(level: .error, message: "Image supports max 1 subview")
|
|
28
|
+
}
|
|
29
|
+
if image == nil {
|
|
30
|
+
DispatchQueue.main.asyncAfter(deadline: .now() + .microseconds(10)) {
|
|
31
|
+
self.setImage()
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@objc
|
|
37
|
+
open override func removeReactSubview(_ subview: UIView!) {
|
|
38
|
+
reactSubviews.removeAll(where: { $0 == subview })
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// MARK: - view shnapshot
|
|
42
|
+
|
|
43
|
+
func changeImage(_ image: UIImage, name: String) {
|
|
44
|
+
if let images = images {
|
|
45
|
+
let _ = images.addImage(name: name, image: image, sdf: sdf, stretchX:stretchX, stretchY:stretchY, log: "RCTMGLImage.addImage")
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
func setImage() {
|
|
50
|
+
if let image = _createViewSnapshot() {
|
|
51
|
+
changeImage(image, name: name)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
func _createViewSnapshot() -> UIImage? {
|
|
56
|
+
let useDummyImage = false
|
|
57
|
+
if useDummyImage {
|
|
58
|
+
let size = CGSize(width: 32, height: 32)
|
|
59
|
+
let renderer = UIGraphicsImageRenderer(size: size)
|
|
60
|
+
let image = renderer.image { context in
|
|
61
|
+
UIColor.darkGray.setStroke()
|
|
62
|
+
context.stroke(CGRect(x: 0, y:0, width: 32, height: 32))
|
|
63
|
+
UIColor(red: 158/255, green: 215/255, blue: 245/255, alpha: 1).setFill()
|
|
64
|
+
context.fill(CGRect(x: 2, y: 2, width: 30, height: 30))
|
|
65
|
+
}
|
|
66
|
+
return image
|
|
67
|
+
}
|
|
68
|
+
guard reactSubviews.count > 0 else {
|
|
69
|
+
return nil
|
|
70
|
+
}
|
|
71
|
+
return _createViewSnapshot(view: reactSubviews[0])
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
func _createViewSnapshot(view: UIView) -> UIImage? {
|
|
75
|
+
guard view.bounds.size.width > 0 && view.bounds.size.height > 0 else {
|
|
76
|
+
return nil
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
let roundUp = 4
|
|
80
|
+
|
|
81
|
+
let adjustedSize = CGSize(
|
|
82
|
+
width: ((Int(view.bounds.size.width)+roundUp-1)/roundUp)*roundUp,
|
|
83
|
+
height: ((Int(view.bounds.size.height)+roundUp-1)/roundUp)*roundUp
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
let renderer = UIGraphicsImageRenderer(size: adjustedSize)
|
|
87
|
+
let image = renderer.image { context in
|
|
88
|
+
view.layer.render(in: context.cgContext)
|
|
89
|
+
}
|
|
90
|
+
return image
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
@objc(RCTMGLImageManager)
|
|
3
|
+
class RCTMGLImageManager : RCTViewManager {
|
|
4
|
+
@objc
|
|
5
|
+
override static func requiresMainQueueSetup() -> Bool {
|
|
6
|
+
return true
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
override func view() -> UIView! {
|
|
10
|
+
let layer = RCTMGLImage()
|
|
11
|
+
layer.bridge = self.bridge
|
|
12
|
+
return layer
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import MapboxMaps
|
|
2
2
|
|
|
3
|
+
protocol RCTMGLImageSetter : AnyObject {
|
|
4
|
+
func addImage(name: String, image: UIImage, sdf: Bool?, stretchX: [[NSNumber]], stretchY: [[NSNumber]], log: String) -> Bool
|
|
5
|
+
}
|
|
6
|
+
|
|
3
7
|
class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
4
8
|
|
|
5
9
|
weak var bridge : RCTBridge! = nil
|
|
6
10
|
var remoteImages : [String:String] = [:]
|
|
7
11
|
|
|
12
|
+
weak var style: Style? = nil
|
|
13
|
+
|
|
8
14
|
@objc
|
|
9
15
|
var onImageMissing: RCTBubblingEventBlock? = nil
|
|
10
16
|
|
|
11
17
|
@objc
|
|
12
18
|
var images : [String:Any] = [:]
|
|
13
19
|
|
|
20
|
+
var imageViews: [RCTMGLImage] = []
|
|
21
|
+
|
|
14
22
|
@objc
|
|
15
23
|
var nativeImages: [Any] = [] {
|
|
16
24
|
didSet {
|
|
@@ -21,6 +29,23 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
21
29
|
typealias NativeImageInfo = (name:String, sdf: Bool, stretchX:[(from:Float, to:Float)], stretchY:[(from:Float, to:Float)]);
|
|
22
30
|
var nativeImageInfos: [NativeImageInfo] = []
|
|
23
31
|
|
|
32
|
+
@objc open override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
|
|
33
|
+
if let image = subview as? RCTMGLImage {
|
|
34
|
+
imageViews.insert(image, at: atIndex)
|
|
35
|
+
} else {
|
|
36
|
+
Logger.log(level:.warn, message: "RCTMGLImages children can only be RCTMGLImage, got \(optional: subview)")
|
|
37
|
+
}
|
|
38
|
+
super.insertReactSubview(subview, at: atIndex)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@objc open override func removeReactSubview(_ subview: UIView!) {
|
|
42
|
+
if let image = subview as? RCTMGLImage {
|
|
43
|
+
imageViews.removeAll { $0 == image }
|
|
44
|
+
image.images = nil
|
|
45
|
+
}
|
|
46
|
+
super.removeReactSubview(subview)
|
|
47
|
+
}
|
|
48
|
+
|
|
24
49
|
// MARK: - RCTMGLMapComponent
|
|
25
50
|
|
|
26
51
|
func waitForStyleLoad() -> Bool {
|
|
@@ -28,14 +53,17 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
28
53
|
}
|
|
29
54
|
|
|
30
55
|
func addToMap(_ map: RCTMGLMapView, style: Style) {
|
|
56
|
+
self.style = style
|
|
31
57
|
map.images.append(self)
|
|
32
58
|
map.setupEvents()
|
|
33
59
|
|
|
34
60
|
self.addNativeImages(style: style, nativeImages: nativeImageInfos)
|
|
35
61
|
self.addRemoteImages(style: style, remoteImages: images)
|
|
62
|
+
self.addImageViews(style: style, imageViews: imageViews)
|
|
36
63
|
}
|
|
37
64
|
|
|
38
65
|
func removeFromMap(_ map: RCTMGLMapView) {
|
|
66
|
+
self.style = nil
|
|
39
67
|
// v10todo
|
|
40
68
|
}
|
|
41
69
|
|
|
@@ -63,6 +91,12 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
63
91
|
}
|
|
64
92
|
}
|
|
65
93
|
|
|
94
|
+
private func addImageViews(style: Style, imageViews: [RCTMGLImage]) {
|
|
95
|
+
imageViews.forEach { imageView in
|
|
96
|
+
imageView.images = self
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
66
100
|
public func addMissingImageToStyle(style: Style, imageName: String) -> Bool {
|
|
67
101
|
if let nativeImage = nativeImageInfos.first(where: { $0.name == imageName }) {
|
|
68
102
|
addNativeImages(style: style, nativeImages: [nativeImage])
|
|
@@ -84,6 +118,16 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
84
118
|
}
|
|
85
119
|
}
|
|
86
120
|
|
|
121
|
+
func convert(stretch: [[NSNumber]]) -> [(from: Float, to: Float)] {
|
|
122
|
+
return stretch.map{ pair in
|
|
123
|
+
return (from: pair[0].floatValue, to: pair[1].floatValue)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
func convert(stretch: [(from: Float, to: Float)]) -> [ImageStretches] {
|
|
128
|
+
return stretch.map { v in ImageStretches(first: v.from, second: v.to) }
|
|
129
|
+
}
|
|
130
|
+
|
|
87
131
|
func decodeImage(_ imageNameOrInfo: Any) -> NativeImageInfo? {
|
|
88
132
|
if let imageName = imageNameOrInfo as? String {
|
|
89
133
|
return (name: imageName, sdf: false, stretchX:[],stretchY:[])
|
|
@@ -100,18 +144,14 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
100
144
|
}
|
|
101
145
|
|
|
102
146
|
if let stretchXV = imageInfo["stretchX"] as? [[NSNumber]] {
|
|
103
|
-
stretchX = stretchXV
|
|
104
|
-
return (from: pair[0].floatValue, to: pair[1].floatValue)
|
|
105
|
-
}
|
|
147
|
+
stretchX = convert(stretch: stretchXV)
|
|
106
148
|
}
|
|
107
149
|
|
|
108
150
|
if let stretchYV = imageInfo["stretchY"] as? [[NSNumber]] {
|
|
109
|
-
stretchY = stretchYV
|
|
110
|
-
return (from: pair[0].floatValue, to: pair[1].floatValue)
|
|
111
|
-
}
|
|
151
|
+
stretchY = convert(stretch: stretchYV)
|
|
112
152
|
}
|
|
113
153
|
|
|
114
|
-
return (name: name, sdf: sdf, stretchX:stretchX,stretchY:stretchY)
|
|
154
|
+
return (name: name, sdf: sdf, stretchX: stretchX, stretchY: stretchY)
|
|
115
155
|
} else {
|
|
116
156
|
Logger.log(level: .warn, message: "RCTMGLImage.nativeImage, unexpected image: \(imageNameOrInfo)")
|
|
117
157
|
return nil
|
|
@@ -125,8 +165,9 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
125
165
|
if let image = UIImage(named: imageName) {
|
|
126
166
|
logged("RCTMGLImage.addNativeImage: \(imageName)") {
|
|
127
167
|
try style.addImage(image, id: imageName, sdf: imageInfo.sdf,
|
|
128
|
-
stretchX:
|
|
129
|
-
stretchY:
|
|
168
|
+
stretchX: convert(stretch: imageInfo.stretchX),
|
|
169
|
+
stretchY: convert(stretch: imageInfo.stretchY)
|
|
170
|
+
)
|
|
130
171
|
}
|
|
131
172
|
} else {
|
|
132
173
|
Logger.log(level:.error, message: "Cannot find nativeImage named \(imageName)")
|
|
@@ -141,5 +182,23 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
|
|
|
141
182
|
UIGraphicsEndImageContext()
|
|
142
183
|
return result
|
|
143
184
|
}()
|
|
185
|
+
}
|
|
144
186
|
|
|
187
|
+
extension RCTMGLImages : RCTMGLImageSetter {
|
|
188
|
+
func addImage(name: String, image: UIImage, sdf: Bool?, stretchX: [[NSNumber]], stretchY: [[NSNumber]], log: String) -> Bool
|
|
189
|
+
{
|
|
190
|
+
return logged("\(log).addImage") {
|
|
191
|
+
if let style = style {
|
|
192
|
+
try style.addImage(image,
|
|
193
|
+
id:name,
|
|
194
|
+
sdf: sdf ?? false,
|
|
195
|
+
stretchX: convert(stretch: convert(stretch: stretchX)),
|
|
196
|
+
stretchY: convert(stretch: convert(stretch: stretchY))
|
|
197
|
+
)
|
|
198
|
+
return true
|
|
199
|
+
} else {
|
|
200
|
+
return false
|
|
201
|
+
}
|
|
202
|
+
} ?? false
|
|
203
|
+
}
|
|
145
204
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React, { memo, forwardRef, ReactElement } from 'react';
|
|
2
|
+
import { requireNativeComponent } from 'react-native';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
/** ID of the image */
|
|
6
|
+
name: string;
|
|
7
|
+
|
|
8
|
+
/** Make image an sdf optional - see [SDF icons](https://docs.mapbox.com/help/troubleshooting/using-recolorable-images-in-mapbox-maps/) */
|
|
9
|
+
sdf?: boolean;
|
|
10
|
+
|
|
11
|
+
/** An array of two-element arrays, consisting of two numbers that represent, the from position and the to position of areas that can be stretched horizontally. */
|
|
12
|
+
stretchX?: [number, number][];
|
|
13
|
+
|
|
14
|
+
/** An array of two-element arrays, consisting of two numbers that represent, the from position and the to position of areas that can be stretched vertically. */
|
|
15
|
+
stretchY?: [number, number][];
|
|
16
|
+
|
|
17
|
+
/** An array of four numbers, with the first two specifying the left, top
|
|
18
|
+
* corner, and the last two specifying the right, bottom corner. If present, and if the
|
|
19
|
+
* icon uses icon-text-fit, the symbol's text will be fit inside the content box. */
|
|
20
|
+
content?: [number, number, number, number];
|
|
21
|
+
|
|
22
|
+
/** Scale factor for the image. */
|
|
23
|
+
scale?: number;
|
|
24
|
+
|
|
25
|
+
/** Single react native view rendering the image */
|
|
26
|
+
children: ReactElement;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface Ref {
|
|
30
|
+
refresh: () => void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const Image = memo(
|
|
34
|
+
forwardRef<Ref, Props>(function Image(
|
|
35
|
+
{ name, sdf, stretchX, stretchY, children }: Props,
|
|
36
|
+
ref: React.ForwardedRef<Ref>,
|
|
37
|
+
) {
|
|
38
|
+
const nativeProps = {
|
|
39
|
+
name,
|
|
40
|
+
sdf,
|
|
41
|
+
stretchX,
|
|
42
|
+
stretchY,
|
|
43
|
+
children,
|
|
44
|
+
};
|
|
45
|
+
return <RCTMGLImage {...nativeProps} />;
|
|
46
|
+
}),
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
interface NativeProps {
|
|
50
|
+
name: string;
|
|
51
|
+
children: ReactElement;
|
|
52
|
+
sdf?: boolean;
|
|
53
|
+
stretchX?: [number, number][];
|
|
54
|
+
stretchY?: [number, number][];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLImage';
|
|
58
|
+
|
|
59
|
+
const RCTMGLImage = requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
|
|
60
|
+
|
|
61
|
+
Image.displayName = 'Image';
|
|
62
|
+
|
|
63
|
+
export default Image;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { requireNativeComponent, Image } from 'react-native';
|
|
1
|
+
import React, { ReactNode, ReactElement } from 'react';
|
|
2
|
+
import { requireNativeComponent, Image as RNImage } from 'react-native';
|
|
3
3
|
import { ImageSourcePropType, ImageResolvedAssetSource } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import { ShapeSource } from './ShapeSource';
|
|
6
|
+
import Image from './Image';
|
|
6
7
|
|
|
7
8
|
export const NATIVE_MODULE_NAME = 'RCTMGLImages';
|
|
8
9
|
|
|
@@ -23,15 +24,23 @@ function _isUrlOrPath(value: string | ImageSourcePropType): value is string {
|
|
|
23
24
|
);
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
type TypedReactNode<T> = ReactElement<T> | Array<TypedReactNode<T>> | never;
|
|
28
|
+
|
|
26
29
|
type NativeImage =
|
|
27
30
|
| string
|
|
28
31
|
| {
|
|
29
32
|
name: string;
|
|
30
33
|
sdf?: boolean;
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
stretchX?: [number, number][];
|
|
35
|
+
stretchY?: [number, number][];
|
|
33
36
|
};
|
|
34
37
|
|
|
38
|
+
const isChildAnImage = (
|
|
39
|
+
child: ReactNode,
|
|
40
|
+
): child is React.ReactElement<typeof Image> => {
|
|
41
|
+
return React.isValidElement(child) && child.type === Image;
|
|
42
|
+
};
|
|
43
|
+
|
|
35
44
|
interface Props {
|
|
36
45
|
/**
|
|
37
46
|
* Specifies the external images in key-value pairs required for the shape source.
|
|
@@ -54,7 +63,7 @@ interface Props {
|
|
|
54
63
|
onImageMissing?: (imageKey: string) => void;
|
|
55
64
|
|
|
56
65
|
id?: string;
|
|
57
|
-
children?:
|
|
66
|
+
children?: TypedReactNode<typeof Image>;
|
|
58
67
|
}
|
|
59
68
|
|
|
60
69
|
/**
|
|
@@ -85,7 +94,7 @@ class Images extends React.Component<Props> {
|
|
|
85
94
|
} else if (_isUrlOrPath(value)) {
|
|
86
95
|
images[imageName] = value;
|
|
87
96
|
} else {
|
|
88
|
-
const res =
|
|
97
|
+
const res = RNImage.resolveAssetSource(value);
|
|
89
98
|
if (res && res.uri) {
|
|
90
99
|
images[imageName] = res;
|
|
91
100
|
}
|
|
@@ -93,6 +102,20 @@ class Images extends React.Component<Props> {
|
|
|
93
102
|
}
|
|
94
103
|
}
|
|
95
104
|
|
|
105
|
+
const { children } = this.props;
|
|
106
|
+
if (children) {
|
|
107
|
+
const childrenWithWrongType = React.Children.toArray(children).find(
|
|
108
|
+
(child) => !isChildAnImage(child),
|
|
109
|
+
);
|
|
110
|
+
if (childrenWithWrongType) {
|
|
111
|
+
console.error(
|
|
112
|
+
`Images component on accepts Image a children passed in: ${
|
|
113
|
+
(childrenWithWrongType as any).type || 'n/a'
|
|
114
|
+
}`,
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
96
119
|
if (this.props.nativeAssetImages) {
|
|
97
120
|
nativeImages = this.props.nativeAssetImages;
|
|
98
121
|
}
|
|
@@ -51,11 +51,16 @@ class Annotation extends React.Component {
|
|
|
51
51
|
prevProps.coordinates[0] !== this.props.coordinates[0] ||
|
|
52
52
|
prevProps.coordinates[1] !== this.props.coordinates[1];
|
|
53
53
|
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
if (
|
|
55
|
+
prevProps.animated !== this.props.animated ||
|
|
56
|
+
(hasCoordChanged && (!this.state.shape || !this.props.animated))
|
|
57
|
+
) {
|
|
58
|
+
const shape = this._getShapeFromProps(this.props);
|
|
57
59
|
|
|
58
|
-
|
|
60
|
+
this.setState({
|
|
61
|
+
shape: this.props.animated ? new AnimatedPoint(shape) : shape,
|
|
62
|
+
});
|
|
63
|
+
} else if (hasCoordChanged && this.props.animated && this.state.shape) {
|
|
59
64
|
// flush current animations
|
|
60
65
|
this.state.shape.stopAnimation();
|
|
61
66
|
|
|
@@ -66,12 +71,6 @@ class Annotation extends React.Component {
|
|
|
66
71
|
duration: this.props.animationDuration,
|
|
67
72
|
})
|
|
68
73
|
.start();
|
|
69
|
-
} else if (!this.state.shape || !this.props.animated) {
|
|
70
|
-
const shape = this._getShapeFromProps(this.props);
|
|
71
|
-
|
|
72
|
-
this.setState({
|
|
73
|
-
shape: this.props.animated ? new AnimatedPoint(shape) : shape,
|
|
74
|
-
});
|
|
75
74
|
}
|
|
76
75
|
}
|
|
77
76
|
|
package/javascript/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import RasterSource from './components/RasterSource';
|
|
|
14
14
|
import RasterDemSource from './components/RasterDemSource';
|
|
15
15
|
import ImageSource from './components/ImageSource';
|
|
16
16
|
import Images from './components/Images';
|
|
17
|
+
import Image from './components/Image';
|
|
17
18
|
import FillLayer from './components/FillLayer';
|
|
18
19
|
import FillExtrusionLayer from './components/FillExtrusionLayer';
|
|
19
20
|
import HeatmapLayer from './components/HeatmapLayer';
|
|
@@ -79,6 +80,7 @@ MapboxGL.ShapeSource = ShapeSource;
|
|
|
79
80
|
MapboxGL.RasterSource = RasterSource;
|
|
80
81
|
MapboxGL.ImageSource = ImageSource;
|
|
81
82
|
MapboxGL.Images = Images;
|
|
83
|
+
MapboxGL.Image = Image;
|
|
82
84
|
MapboxGL.RasterDemSource = RasterDemSource;
|
|
83
85
|
|
|
84
86
|
// layers
|
|
@@ -129,6 +131,7 @@ export {
|
|
|
129
131
|
RasterDemSource,
|
|
130
132
|
ImageSource,
|
|
131
133
|
Images,
|
|
134
|
+
Image,
|
|
132
135
|
FillLayer,
|
|
133
136
|
FillExtrusionLayer,
|
|
134
137
|
HeatmapLayer,
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.NATIVE_MODULE_NAME = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
|
+
const Image = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function Image(_ref, ref) {
|
|
12
|
+
let {
|
|
13
|
+
name,
|
|
14
|
+
sdf,
|
|
15
|
+
stretchX,
|
|
16
|
+
stretchY,
|
|
17
|
+
children
|
|
18
|
+
} = _ref;
|
|
19
|
+
const nativeProps = {
|
|
20
|
+
name,
|
|
21
|
+
sdf,
|
|
22
|
+
stretchX,
|
|
23
|
+
stretchY,
|
|
24
|
+
children
|
|
25
|
+
};
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(RCTMGLImage, nativeProps);
|
|
27
|
+
}));
|
|
28
|
+
const NATIVE_MODULE_NAME = 'RCTMGLImage';
|
|
29
|
+
exports.NATIVE_MODULE_NAME = NATIVE_MODULE_NAME;
|
|
30
|
+
const RCTMGLImage = (0, _reactNative.requireNativeComponent)(NATIVE_MODULE_NAME);
|
|
31
|
+
Image.displayName = 'Image';
|
|
32
|
+
var _default = Image;
|
|
33
|
+
exports.default = _default;
|
|
34
|
+
//# sourceMappingURL=Image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Image","memo","forwardRef","_ref","ref","name","sdf","stretchX","stretchY","children","nativeProps","createElement","RCTMGLImage","NATIVE_MODULE_NAME","exports","requireNativeComponent","displayName","_default"],"sourceRoot":"../../../javascript","sources":["components/Image.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AA+BtD,MAAMW,KAAK,gBAAG,IAAAC,WAAI,gBAChB,IAAAC,iBAAU,EAAa,SAASF,KAAKA,CAAAG,IAAA,EAEnCC,GAA4B,EAC5B;EAAA,IAFA;IAAEC,IAAI;IAAEC,GAAG;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC;EAAgB,CAAC,GAAAN,IAAA;EAGlD,MAAMO,WAAW,GAAG;IAClBL,IAAI;IACJC,GAAG;IACHC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC;EACD,oBAAOnC,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAACC,WAAW,EAAKF,WAAW,CAAI;AACzC,CAAC,CAAC,CACH;AAUM,MAAMG,kBAAkB,GAAG,aAAa;AAACC,OAAA,CAAAD,kBAAA,GAAAA,kBAAA;AAEhD,MAAMD,WAAW,GAAG,IAAAG,mCAAsB,EAAcF,kBAAkB,CAAC;AAE3Eb,KAAK,CAACgB,WAAW,GAAG,OAAO;AAAC,IAAAC,QAAA,GAEbjB,KAAK;AAAAc,OAAA,CAAA7B,OAAA,GAAAgC,QAAA"}
|
|
@@ -7,12 +7,16 @@ exports.default = exports.NATIVE_MODULE_NAME = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _ShapeSource = require("./ShapeSource");
|
|
10
|
+
var _Image = _interopRequireDefault(require("./Image"));
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
12
|
const NATIVE_MODULE_NAME = 'RCTMGLImages';
|
|
12
13
|
exports.NATIVE_MODULE_NAME = NATIVE_MODULE_NAME;
|
|
13
14
|
function _isUrlOrPath(value) {
|
|
14
15
|
return (typeof value === 'string' || value instanceof String) && (value.startsWith('file://') || value.startsWith('http://') || value.startsWith('https://') || value.startsWith('data:') || value.startsWith('asset://') || value.startsWith('/'));
|
|
15
16
|
}
|
|
17
|
+
const isChildAnImage = child => {
|
|
18
|
+
return /*#__PURE__*/_react.default.isValidElement(child) && child.type === _Image.default;
|
|
19
|
+
};
|
|
16
20
|
/**
|
|
17
21
|
* Images defines the images used in Symbol etc. layers.
|
|
18
22
|
*/
|
|
@@ -40,6 +44,15 @@ class Images extends _react.default.Component {
|
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
}
|
|
47
|
+
const {
|
|
48
|
+
children
|
|
49
|
+
} = this.props;
|
|
50
|
+
if (children) {
|
|
51
|
+
const childrenWithWrongType = _react.default.Children.toArray(children).find(child => !isChildAnImage(child));
|
|
52
|
+
if (childrenWithWrongType) {
|
|
53
|
+
console.error(`Images component on accepts Image a children passed in: ${childrenWithWrongType.type || 'n/a'}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
43
56
|
if (this.props.nativeAssetImages) {
|
|
44
57
|
nativeImages = this.props.nativeAssetImages;
|
|
45
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ShapeSource","obj","__esModule","default","NATIVE_MODULE_NAME","exports","_isUrlOrPath","value","String","startsWith","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ShapeSource","_Image","obj","__esModule","default","NATIVE_MODULE_NAME","exports","_isUrlOrPath","value","String","startsWith","isChildAnImage","child","React","isValidElement","type","Image","Images","Component","NATIVE_ASSETS_KEY","_getImages","props","images","nativeAssetImages","nativeImages","imageNames","Object","keys","imageName","ShapeSource","Array","isArray","console","error","res","RNImage","resolveAssetSource","uri","children","childrenWithWrongType","Children","toArray","find","_onImageMissing","event","onImageMissing","nativeEvent","payload","imageKey","render","id","hasOnImageMissing","bind","createElement","RCTMGLImages","requireNativeComponent","_default"],"sourceRoot":"../../../javascript","sources":["components/Images.tsx"],"mappings":"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"}
|
|
@@ -44,10 +44,12 @@ class Annotation extends _react.default.Component {
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
const hasCoordChanged = prevProps.coordinates[0] !== this.props.coordinates[0] || prevProps.coordinates[1] !== this.props.coordinates[1];
|
|
47
|
-
if (!
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
if (prevProps.animated !== this.props.animated || hasCoordChanged && (!this.state.shape || !this.props.animated)) {
|
|
48
|
+
const shape = this._getShapeFromProps(this.props);
|
|
49
|
+
this.setState({
|
|
50
|
+
shape: this.props.animated ? new _classes.AnimatedPoint(shape) : shape
|
|
51
|
+
});
|
|
52
|
+
} else if (hasCoordChanged && this.props.animated && this.state.shape) {
|
|
51
53
|
// flush current animations
|
|
52
54
|
this.state.shape.stopAnimation();
|
|
53
55
|
this.state.shape.timing({
|
|
@@ -55,11 +57,6 @@ class Annotation extends _react.default.Component {
|
|
|
55
57
|
easing: this.props.animationEasingFunction,
|
|
56
58
|
duration: this.props.animationDuration
|
|
57
59
|
}).start();
|
|
58
|
-
} else if (!this.state.shape || !this.props.animated) {
|
|
59
|
-
const shape = this._getShapeFromProps(this.props);
|
|
60
|
-
this.setState({
|
|
61
|
-
shape: this.props.animated ? new _classes.AnimatedPoint(shape) : shape
|
|
62
|
-
});
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
onPress() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_propTypes","_SymbolLayer","_Animated","_classes","obj","__esModule","default","Annotation","React","Component","propTypes","id","PropTypes","string","isRequired","animated","bool","animationDuration","number","animationEasingFunction","func","coordinates","arrayOf","onPress","children","any","style","icon","oneOfType","object","defaultProps","Easing","linear","constructor","props","shape","_getShapeFromProps","state","AnimatedPoint","bind","componentDidUpdate","prevProps","Array","isArray","setState","hasCoordChanged","stopAnimation","timing","easing","duration","start","arguments","length","undefined","lng","lat","type","symbolStyle","Object","assign","iconImage","render","createElement","ShapeSource","ref","SymbolLayer","_default","exports"],"sourceRoot":"../../../../javascript","sources":["components/annotations/Annotation.js"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAA8C,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9C,MAAMG,UAAU,SAASC,cAAK,CAACC,SAAS,CAAC;EACvC,OAAOC,SAAS,GAAG;IACjBC,EAAE,EAAEC,kBAAS,CAACC,MAAM,CAACC,UAAU;IAC/BC,QAAQ,EAAEH,kBAAS,CAACI,IAAI;IACxBC,iBAAiB,EAAEL,kBAAS,CAACM,MAAM;IACnCC,uBAAuB,EAAEP,kBAAS,CAACQ,IAAI;IACvCC,WAAW,EAAET,kBAAS,CAACU,OAAO,CAACV,kBAAS,CAACM,MAAM,CAAC;IAChDK,OAAO,EAAEX,kBAAS,CAACQ,IAAI;IACvBI,QAAQ,EAAEZ,kBAAS,CAACa,GAAG;IACvBC,KAAK,EAAEd,kBAAS,CAACa,GAAG;IACpBE,IAAI,EAAEf,kBAAS,CAACgB,SAAS,CAAC,CACxBhB,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACM,MAAM,EAChBN,kBAAS,CAACiB,MAAM,CACjB;EACH,CAAC;EAED,OAAOC,YAAY,GAAG;IACpBf,QAAQ,EAAE,KAAK;IACfE,iBAAiB,EAAE,IAAI;IACvBE,uBAAuB,EAAEY,mBAAM,CAACC;EAClC,CAAC;EAEDC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,MAAMC,KAAK,GAAG,IAAI,CAACC,kBAAkB,CAACF,KAAK,CAAC;IAE5C,IAAI,CAACG,KAAK,GAAG;MACXF,KAAK,EAAED,KAAK,CAACnB,QAAQ,GAAG,IAAIuB,sBAAa,CAACH,KAAK,CAAC,GAAGA;IACrD,CAAC;IAED,IAAI,CAACZ,OAAO,GAAG,IAAI,CAACA,OAAO,CAACgB,IAAI,CAAC,IAAI,CAAC;EACxC;EAEAC,kBAAkBA,CAACC,SAAS,EAAE;IAC5B,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACT,KAAK,CAACb,WAAW,CAAC,EAAE;MAC1C,IAAI,CAACuB,QAAQ,CAAC;QAAET,KAAK,EAAE;MAAK,CAAC,CAAC;MAC9B;IACF;IAEA,MAAMU,eAAe,GACnBJ,SAAS,CAACpB,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAACa,KAAK,CAACb,WAAW,CAAC,CAAC,CAAC,IACtDoB,SAAS,CAACpB,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAACa,KAAK,CAACb,WAAW,CAAC,CAAC,CAAC;IAExD,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_propTypes","_SymbolLayer","_Animated","_classes","obj","__esModule","default","Annotation","React","Component","propTypes","id","PropTypes","string","isRequired","animated","bool","animationDuration","number","animationEasingFunction","func","coordinates","arrayOf","onPress","children","any","style","icon","oneOfType","object","defaultProps","Easing","linear","constructor","props","shape","_getShapeFromProps","state","AnimatedPoint","bind","componentDidUpdate","prevProps","Array","isArray","setState","hasCoordChanged","stopAnimation","timing","easing","duration","start","arguments","length","undefined","lng","lat","type","symbolStyle","Object","assign","iconImage","render","createElement","ShapeSource","ref","SymbolLayer","_default","exports"],"sourceRoot":"../../../../javascript","sources":["components/annotations/Annotation.js"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -94,6 +94,12 @@ Object.defineProperty(exports, "HeatmapLayer", {
|
|
|
94
94
|
return _HeatmapLayer.default;
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
|
+
Object.defineProperty(exports, "Image", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function () {
|
|
100
|
+
return _Image.default;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
97
103
|
Object.defineProperty(exports, "ImageSource", {
|
|
98
104
|
enumerable: true,
|
|
99
105
|
get: function () {
|
|
@@ -243,6 +249,7 @@ var _RasterSource = _interopRequireDefault(require("./components/RasterSource"))
|
|
|
243
249
|
var _RasterDemSource = _interopRequireDefault(require("./components/RasterDemSource"));
|
|
244
250
|
var _ImageSource = _interopRequireDefault(require("./components/ImageSource"));
|
|
245
251
|
var _Images = _interopRequireDefault(require("./components/Images"));
|
|
252
|
+
var _Image = _interopRequireDefault(require("./components/Image"));
|
|
246
253
|
var _FillLayer = _interopRequireDefault(require("./components/FillLayer"));
|
|
247
254
|
var _FillExtrusionLayer = _interopRequireDefault(require("./components/FillExtrusionLayer"));
|
|
248
255
|
var _HeatmapLayer = _interopRequireDefault(require("./components/HeatmapLayer"));
|
|
@@ -300,6 +307,7 @@ MapboxGL.ShapeSource = _ShapeSource.ShapeSource;
|
|
|
300
307
|
MapboxGL.RasterSource = _RasterSource.default;
|
|
301
308
|
MapboxGL.ImageSource = _ImageSource.default;
|
|
302
309
|
MapboxGL.Images = _Images.default;
|
|
310
|
+
MapboxGL.Image = _Image.default;
|
|
303
311
|
MapboxGL.RasterDemSource = _RasterDemSource.default;
|
|
304
312
|
|
|
305
313
|
// layers
|