@rnmapbox/maps 10.0.0-beta.78 → 10.0.0-beta.80
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/build.gradle +8 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt +1 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +48 -8
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.kt +18 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/constants/EventTypes.java +5 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLModule.kt +4 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/GeoJSONUtils.kt +4 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/extensions/Point.kt +5 -1
- package/ios/RCTMGL-v10/RCTMGLCamera.swift +3 -3
- package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +3 -1
- package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +70 -47
- package/ios/RCTMGL-v10/RCTMGLLogging.swift +3 -1
- package/ios/RCTMGL-v10/RCTMGLOfflineModule.m +2 -0
- package/ios/RCTMGL-v10/RCTMGLOfflineModule.swift +31 -0
- package/ios/RCTMGL-v10/RCTMGLPointAnnotation.swift +5 -1
- package/lib/commonjs/components/MapView.js +38 -31
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js +2 -0
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/utils/checkRequiredProps.js +14 -0
- package/lib/commonjs/utils/checkRequiredProps.js.map +1 -0
- package/lib/module/components/MapView.js +38 -31
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/PointAnnotation.js +2 -0
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/utils/checkRequiredProps.js +8 -0
- package/lib/module/utils/checkRequiredProps.js.map +1 -0
- package/lib/typescript/components/MapView.d.ts +6 -7
- package/lib/typescript/components/MapView.d.ts.map +1 -1
- package/lib/typescript/components/PointAnnotation.d.ts.map +1 -1
- package/lib/typescript/utils/checkRequiredProps.d.ts +8 -0
- package/lib/typescript/utils/checkRequiredProps.d.ts.map +1 -0
- package/package.json +3 -2
- package/rnmapbox-maps.podspec +3 -0
- package/src/components/MapView.tsx +50 -45
- package/src/components/PointAnnotation.tsx +2 -0
- package/src/utils/checkRequiredProps.ts +17 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default function checkRequiredProps(tag, props, required) {
|
|
2
|
+
for (const key of required) {
|
|
3
|
+
if (props[key] === undefined) {
|
|
4
|
+
console.error(`Error: ${tag} property: ${key} is required but it was missing.`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=checkRequiredProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["checkRequiredProps","tag","props","required","key","undefined","console","error"],"sourceRoot":"../../../src","sources":["utils/checkRequiredProps.ts"],"mappings":"AAIA,eAAe,SAASA,kBAAkBA,CAExCC,GAAW,EAAEC,KAAY,EAAEC,QAA+B,EAAE;EAC5D,KAAK,MAAMC,GAAG,IAAID,QAAQ,EAAE;IAC1B,IAAID,KAAK,CAACE,GAAG,CAAC,KAAKC,SAAS,EAAE;MAC5BC,OAAO,CAACC,KAAK,CACV,UAASN,GAAI,cACZG,GACD,kCAAiC,CACnC;IACH;EACF;AACF"}
|
|
@@ -20,7 +20,7 @@ export declare type RegionPayload = {
|
|
|
20
20
|
pitch: number;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
* v10 only
|
|
23
|
+
* v10 only
|
|
24
24
|
*/
|
|
25
25
|
export declare type MapState = {
|
|
26
26
|
properties: {
|
|
@@ -35,18 +35,17 @@ export declare type MapState = {
|
|
|
35
35
|
};
|
|
36
36
|
gestures: {
|
|
37
37
|
isGestureActive: boolean;
|
|
38
|
-
isAnimatingFromGesture: boolean;
|
|
39
38
|
};
|
|
40
39
|
};
|
|
41
40
|
/**
|
|
42
|
-
* label localization settings (v10 only)
|
|
41
|
+
* label localization settings (v10 only). `true` is equivalent to current locale.
|
|
43
42
|
*/
|
|
44
43
|
declare type LocalizeLabels = {
|
|
45
44
|
/** locale code like `es` or `current` for the device's current locale */
|
|
46
45
|
locale: string;
|
|
47
46
|
/** layer id to localize. If not specified, all layers will be localized */
|
|
48
47
|
layerIds?: string[];
|
|
49
|
-
};
|
|
48
|
+
} | true;
|
|
50
49
|
declare type Props = ViewProps & {
|
|
51
50
|
/**
|
|
52
51
|
* The distance from the edges of the map view’s frame to the edges of the map view’s logical viewport.
|
|
@@ -57,7 +56,7 @@ declare type Props = ViewProps & {
|
|
|
57
56
|
*/
|
|
58
57
|
projection?: 'mercator' | 'globe';
|
|
59
58
|
/**
|
|
60
|
-
* Style URL for map - notice, if non is set it _will_ default to `
|
|
59
|
+
* Style URL for map - notice, if non is set it _will_ default to `Mapbox.StyleURL.Street`
|
|
61
60
|
*/
|
|
62
61
|
styleURL?: string;
|
|
63
62
|
/**
|
|
@@ -190,11 +189,11 @@ declare type Props = ViewProps & {
|
|
|
190
189
|
*/
|
|
191
190
|
onRegionDidChange?: (feature: GeoJSON.Feature<GeoJSON.Point, RegionPayload>) => void;
|
|
192
191
|
/**
|
|
193
|
-
*
|
|
192
|
+
* v10 only, replaces onRegionIsChanging
|
|
194
193
|
*/
|
|
195
194
|
onCameraChanged?: (state: MapState) => void;
|
|
196
195
|
/**
|
|
197
|
-
*
|
|
196
|
+
* v10 only, replaces onRegionDidChange
|
|
198
197
|
*/
|
|
199
198
|
onMapIdle?: (state: MapState) => void;
|
|
200
199
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/components/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAKL,SAAS,EACT,oBAAoB,EACpB,aAAa,EAEb,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAC;AAElB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/components/MapView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointAnnotation.d.ts","sourceRoot":"","sources":["../../../src/components/PointAnnotation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"PointAnnotation.d.ts","sourceRoot":"","sources":["../../../src/components/PointAnnotation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare type RequiredKeys<T> = {
|
|
2
|
+
[k in keyof T]-?: undefined extends T[k] ? never : k;
|
|
3
|
+
}[keyof T];
|
|
4
|
+
export default function checkRequiredProps<Props extends {
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}>(tag: string, props: Props, required: RequiredKeys<Props>[]): void;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=checkRequiredProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkRequiredProps.d.ts","sourceRoot":"","sources":["../../../src/utils/checkRequiredProps.ts"],"names":[],"mappings":"AAAA,aAAK,YAAY,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACrD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACxC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,QAU3D"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rnmapbox/maps",
|
|
3
3
|
"description": "A Mapbox react native module for creating custom maps",
|
|
4
|
-
"version": "10.0.0-beta.
|
|
4
|
+
"version": "10.0.0-beta.80",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"@babel/eslint-parser": "^7.19.1",
|
|
84
84
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
85
85
|
"@babel/runtime": "7.19.0",
|
|
86
|
-
"@react-native-community/eslint-config": "^3.0
|
|
86
|
+
"@react-native-community/eslint-config": "^3.2.0",
|
|
87
87
|
"@sinonjs/fake-timers": "^8.0.1",
|
|
88
88
|
"@testing-library/react-native": "^11.0.0",
|
|
89
89
|
"@types/debounce": "^1.2.1",
|
|
@@ -97,6 +97,7 @@
|
|
|
97
97
|
"ejs-lint": "^1.1.0",
|
|
98
98
|
"eslint": "^8.23.0",
|
|
99
99
|
"eslint-config-prettier": "^8.5.0",
|
|
100
|
+
"eslint-plugin-ft-flow": "^2.0.3",
|
|
100
101
|
"eslint-plugin-import": "2.25.3",
|
|
101
102
|
"eslint-plugin-jest": "^27.0.1",
|
|
102
103
|
"expo": "^47.0.0",
|
package/rnmapbox-maps.podspec
CHANGED
|
@@ -28,6 +28,7 @@ rnMapboxMapsDefaultImpl = 'maplibre'
|
|
|
28
28
|
|
|
29
29
|
# DEPRECATIONS
|
|
30
30
|
|
|
31
|
+
|
|
31
32
|
if ENV["REACT_NATIVE_MAPBOX_GL_USE_FRAMEWORKS"]
|
|
32
33
|
puts "REACT_NATIVE_MAPBOX_GL_USE_FRAMEWORKS is now deprecated!"
|
|
33
34
|
end
|
|
@@ -90,9 +91,11 @@ when 'mapbox'
|
|
|
90
91
|
rnMapboxMapsTargetsToChangeToDynamic = ['MapboxMobileEvents', 'Turf', 'MapboxMaps', 'MapboxCoreMaps', 'MapboxCommon']
|
|
91
92
|
MapboxImplVersion = $RNMapboxMapsVersion || rnMapboxMapsDefaultMapboxVersion
|
|
92
93
|
when 'mapbox-gl'
|
|
94
|
+
puts 'WARNING: mapbox-gl in @rnmapbox/maps is deprecated. Set $RNMapboxMapsImpl=mapbox in your Podfile. See https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-Maplibre#ios'
|
|
93
95
|
rnMapboxMapsTargetsToChangeToDynamic = ['MapboxMobileEvents']
|
|
94
96
|
MapboxImplVersion = $RNMapboxMapsVersion || rnMapboxMapsDefaultMapboxGLVersion
|
|
95
97
|
when 'maplibre'
|
|
98
|
+
puts 'WARNING: maplibre in @rnmapbox/maps is deprecated. Set $RNMapboxMapsImpl=mapbox in your Podfile. See https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-MapboxGL#ios'
|
|
96
99
|
rnMapboxMapsTargetsToChangeToDynamic = ['MapboxMobileEvents']
|
|
97
100
|
|
|
98
101
|
spm_version = ($RNMapboxMapsVersion || rnMapboxMapsDefaultMapLibreVersion).split
|
|
@@ -25,12 +25,19 @@ import { type Position } from '../types/Position';
|
|
|
25
25
|
|
|
26
26
|
import NativeBridgeComponent from './NativeBridgeComponent';
|
|
27
27
|
|
|
28
|
-
const
|
|
29
|
-
|
|
28
|
+
const { MGLModule } = NativeModules;
|
|
29
|
+
const { EventTypes } = MGLModule;
|
|
30
|
+
|
|
31
|
+
if (MGLModule == null) {
|
|
30
32
|
console.error(
|
|
31
33
|
'Native part of Mapbox React Native libraries were not registered properly, double check our native installation guides.',
|
|
32
34
|
);
|
|
33
35
|
}
|
|
36
|
+
if (!MGLModule.MapboxV10) {
|
|
37
|
+
console.warn(
|
|
38
|
+
'@rnmapbox/maps: Non v10 implementations are deprecated and will be removed in next version - see https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-Maplibre',
|
|
39
|
+
);
|
|
40
|
+
}
|
|
34
41
|
|
|
35
42
|
export const NATIVE_MODULE_NAME = 'RCTMGLMapView';
|
|
36
43
|
|
|
@@ -40,7 +47,7 @@ const styles = StyleSheet.create({
|
|
|
40
47
|
matchParent: { flex: 1 },
|
|
41
48
|
});
|
|
42
49
|
|
|
43
|
-
const defaultStyleURL =
|
|
50
|
+
const defaultStyleURL = MGLModule.StyleURL.Street;
|
|
44
51
|
|
|
45
52
|
export type Point = {
|
|
46
53
|
x: number;
|
|
@@ -59,7 +66,7 @@ export type RegionPayload = {
|
|
|
59
66
|
};
|
|
60
67
|
|
|
61
68
|
/**
|
|
62
|
-
* v10 only
|
|
69
|
+
* v10 only
|
|
63
70
|
*/
|
|
64
71
|
export type MapState = {
|
|
65
72
|
properties: {
|
|
@@ -74,19 +81,20 @@ export type MapState = {
|
|
|
74
81
|
};
|
|
75
82
|
gestures: {
|
|
76
83
|
isGestureActive: boolean;
|
|
77
|
-
isAnimatingFromGesture: boolean;
|
|
78
84
|
};
|
|
79
85
|
};
|
|
80
86
|
|
|
81
87
|
/**
|
|
82
|
-
* label localization settings (v10 only)
|
|
88
|
+
* label localization settings (v10 only). `true` is equivalent to current locale.
|
|
83
89
|
*/
|
|
84
|
-
type LocalizeLabels =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
type LocalizeLabels =
|
|
91
|
+
| {
|
|
92
|
+
/** locale code like `es` or `current` for the device's current locale */
|
|
93
|
+
locale: string;
|
|
94
|
+
/** layer id to localize. If not specified, all layers will be localized */
|
|
95
|
+
layerIds?: string[];
|
|
96
|
+
}
|
|
97
|
+
| true;
|
|
90
98
|
|
|
91
99
|
type Props = ViewProps & {
|
|
92
100
|
/**
|
|
@@ -100,7 +108,7 @@ type Props = ViewProps & {
|
|
|
100
108
|
projection?: 'mercator' | 'globe';
|
|
101
109
|
|
|
102
110
|
/**
|
|
103
|
-
* Style URL for map - notice, if non is set it _will_ default to `
|
|
111
|
+
* Style URL for map - notice, if non is set it _will_ default to `Mapbox.StyleURL.Street`
|
|
104
112
|
*/
|
|
105
113
|
styleURL?: string;
|
|
106
114
|
|
|
@@ -266,12 +274,12 @@ type Props = ViewProps & {
|
|
|
266
274
|
) => void;
|
|
267
275
|
|
|
268
276
|
/**
|
|
269
|
-
*
|
|
277
|
+
* v10 only, replaces onRegionIsChanging
|
|
270
278
|
*/
|
|
271
279
|
onCameraChanged?: (state: MapState) => void;
|
|
272
280
|
|
|
273
281
|
/**
|
|
274
|
-
*
|
|
282
|
+
* v10 only, replaces onRegionDidChange
|
|
275
283
|
*/
|
|
276
284
|
onMapIdle?: (state: MapState) => void;
|
|
277
285
|
|
|
@@ -467,12 +475,12 @@ class MapView extends NativeBridgeComponent(
|
|
|
467
475
|
}
|
|
468
476
|
|
|
469
477
|
_setHandledMapChangedEvents(props: Props) {
|
|
470
|
-
if (isAndroid() ||
|
|
478
|
+
if (isAndroid() || MGLModule.MapboxV10) {
|
|
471
479
|
const events: string[] = [];
|
|
472
480
|
|
|
473
481
|
function addIfHasHandler(name: CallbablePropKeysWithoutOn) {
|
|
474
482
|
if (props[`on${name}`] != null) {
|
|
475
|
-
if (
|
|
483
|
+
if (EventTypes[name] == null) {
|
|
476
484
|
if (name === 'DidFailLoadingMap') {
|
|
477
485
|
console.warn(
|
|
478
486
|
`rnmapbox maps: on${name} is deprecated, please use onMapLoadingError`,
|
|
@@ -481,7 +489,7 @@ class MapView extends NativeBridgeComponent(
|
|
|
481
489
|
console.warn(`rnmapbox maps: ${name} is not supported`);
|
|
482
490
|
}
|
|
483
491
|
} else {
|
|
484
|
-
events.push(
|
|
492
|
+
events.push(EventTypes[name]);
|
|
485
493
|
return true;
|
|
486
494
|
}
|
|
487
495
|
}
|
|
@@ -504,9 +512,9 @@ class MapView extends NativeBridgeComponent(
|
|
|
504
512
|
addIfHasHandler('DidFinishRenderingMapFully');
|
|
505
513
|
addIfHasHandler('DidFinishLoadingStyle');
|
|
506
514
|
|
|
507
|
-
if (addIfHasHandler('
|
|
515
|
+
if (addIfHasHandler('RegionDidChange')) {
|
|
508
516
|
console.warn(
|
|
509
|
-
'
|
|
517
|
+
'onRegionDidChange is deprecated and will be removed in next beta - please use onMapIdle',
|
|
510
518
|
);
|
|
511
519
|
if (props.onRegionDidChange) {
|
|
512
520
|
console.warn(
|
|
@@ -514,11 +522,11 @@ class MapView extends NativeBridgeComponent(
|
|
|
514
522
|
);
|
|
515
523
|
}
|
|
516
524
|
}
|
|
517
|
-
if (addIfHasHandler('
|
|
525
|
+
if (addIfHasHandler('RegionIsChanging')) {
|
|
518
526
|
console.warn(
|
|
519
|
-
'
|
|
527
|
+
'onRegionIsChanging is deprecated and will be removed in next beta - please use onCameraChanged',
|
|
520
528
|
);
|
|
521
|
-
if (props.
|
|
529
|
+
if (props.onCameraChanged) {
|
|
522
530
|
console.warn(
|
|
523
531
|
'rnmapbox/maps: only one of MapView.onRegionIsChanging or onCameraChanged is supported',
|
|
524
532
|
);
|
|
@@ -639,7 +647,7 @@ class MapView extends NativeBridgeComponent(
|
|
|
639
647
|
): Promise<GeoJSON.FeatureCollection | undefined> {
|
|
640
648
|
if (
|
|
641
649
|
bbox != null &&
|
|
642
|
-
(bbox.length === 4 || (
|
|
650
|
+
(bbox.length === 4 || (MGLModule.MapboxV10 && bbox.length === 0))
|
|
643
651
|
) {
|
|
644
652
|
const res = await this._runNative<{ data: GeoJSON.FeatureCollection }>(
|
|
645
653
|
'queryRenderedFeaturesInRect',
|
|
@@ -815,64 +823,64 @@ class MapView extends NativeBridgeComponent(
|
|
|
815
823
|
let deprecatedPropName: CallbablePropKeys | '' = '';
|
|
816
824
|
|
|
817
825
|
switch (type) {
|
|
818
|
-
case
|
|
826
|
+
case EventTypes.RegionWillChange:
|
|
819
827
|
if (regionWillChangeDebounceTime && regionWillChangeDebounceTime > 0) {
|
|
820
828
|
this._onDebouncedRegionWillChange(payload);
|
|
821
829
|
} else {
|
|
822
830
|
propName = 'onRegionWillChange';
|
|
823
831
|
}
|
|
824
832
|
break;
|
|
825
|
-
case
|
|
833
|
+
case EventTypes.RegionIsChanging:
|
|
826
834
|
propName = 'onRegionIsChanging';
|
|
827
835
|
break;
|
|
828
|
-
case
|
|
836
|
+
case EventTypes.RegionDidChange:
|
|
829
837
|
if (regionDidChangeDebounceTime && regionDidChangeDebounceTime > 0) {
|
|
830
838
|
this._onDebouncedRegionDidChange(payload);
|
|
831
839
|
} else {
|
|
832
840
|
propName = 'onRegionDidChange';
|
|
833
841
|
}
|
|
834
842
|
break;
|
|
835
|
-
case
|
|
843
|
+
case EventTypes.CameraChanged:
|
|
836
844
|
propName = 'onCameraChanged';
|
|
837
845
|
break;
|
|
838
|
-
case
|
|
846
|
+
case EventTypes.MapIdle:
|
|
839
847
|
propName = 'onMapIdle';
|
|
840
848
|
break;
|
|
841
|
-
case
|
|
849
|
+
case EventTypes.UserLocationUpdated:
|
|
842
850
|
propName = 'onUserLocationUpdate';
|
|
843
851
|
break;
|
|
844
|
-
case
|
|
852
|
+
case EventTypes.WillStartLoadingMap:
|
|
845
853
|
propName = 'onWillStartLoadingMap';
|
|
846
854
|
break;
|
|
847
|
-
case
|
|
855
|
+
case EventTypes.DidFinishLoadingMap:
|
|
848
856
|
propName = 'onDidFinishLoadingMap';
|
|
849
857
|
break;
|
|
850
|
-
case
|
|
858
|
+
case EventTypes.DidFailLoadingMap:
|
|
851
859
|
propName = 'onDidFailLoadingMap';
|
|
852
860
|
break;
|
|
853
|
-
case
|
|
861
|
+
case EventTypes.MapLoadingError:
|
|
854
862
|
propName = 'onMapLoadingError';
|
|
855
863
|
deprecatedPropName = 'onDidFailLoadingMap';
|
|
856
864
|
break;
|
|
857
|
-
case
|
|
865
|
+
case EventTypes.WillStartRenderingFrame:
|
|
858
866
|
propName = 'onWillStartRenderingFrame';
|
|
859
867
|
break;
|
|
860
|
-
case
|
|
868
|
+
case EventTypes.DidFinishRenderingFrame:
|
|
861
869
|
propName = 'onDidFinishRenderingFrame';
|
|
862
870
|
break;
|
|
863
|
-
case
|
|
871
|
+
case EventTypes.DidFinishRenderingFrameFully:
|
|
864
872
|
propName = 'onDidFinishRenderingFrameFully';
|
|
865
873
|
break;
|
|
866
|
-
case
|
|
874
|
+
case EventTypes.WillStartRenderingMap:
|
|
867
875
|
propName = 'onWillStartRenderingMap';
|
|
868
876
|
break;
|
|
869
|
-
case
|
|
877
|
+
case EventTypes.DidFinishRenderingMap:
|
|
870
878
|
propName = 'onDidFinishRenderingMap';
|
|
871
879
|
break;
|
|
872
|
-
case
|
|
880
|
+
case EventTypes.DidFinishRenderingMapFully:
|
|
873
881
|
propName = 'onDidFinishRenderingMapFully';
|
|
874
882
|
break;
|
|
875
|
-
case
|
|
883
|
+
case EventTypes.DidFinishLoadingStyle:
|
|
876
884
|
propName = 'onDidFinishLoadingStyle';
|
|
877
885
|
break;
|
|
878
886
|
default:
|
|
@@ -944,13 +952,10 @@ class MapView extends NativeBridgeComponent(
|
|
|
944
952
|
}
|
|
945
953
|
|
|
946
954
|
_setLocalizeLabels(props: Props) {
|
|
947
|
-
if (!
|
|
955
|
+
if (!MGLModule.MapboxV10) {
|
|
948
956
|
return;
|
|
949
957
|
}
|
|
950
958
|
if (typeof props.localizeLabels === 'boolean') {
|
|
951
|
-
console.warn(
|
|
952
|
-
'boolean value of localizeLabels is deprecated. Please set this as Locale object instead',
|
|
953
|
-
);
|
|
954
959
|
props.localizeLabels = {
|
|
955
960
|
locale: 'current',
|
|
956
961
|
};
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
import { Feature, Point } from 'geojson';
|
|
9
9
|
|
|
10
10
|
import { toJSONString, isFunction } from '../utils';
|
|
11
|
+
import checkRequiredProps from '../utils/checkRequiredProps';
|
|
11
12
|
import { makePoint } from '../utils/geoUtils';
|
|
12
13
|
import { type BaseProps } from '../types/BaseProps';
|
|
13
14
|
import { Position } from '../types/Position';
|
|
@@ -136,6 +137,7 @@ class PointAnnotation extends NativeBridgeComponent(
|
|
|
136
137
|
|
|
137
138
|
constructor(props: Props) {
|
|
138
139
|
super(props);
|
|
140
|
+
checkRequiredProps('PointAnnotation', props, ['id', 'coordinate']);
|
|
139
141
|
this._onSelected = this._onSelected.bind(this);
|
|
140
142
|
this._onDeselected = this._onDeselected.bind(this);
|
|
141
143
|
this._onDragStart = this._onDragStart.bind(this);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type RequiredKeys<T> = {
|
|
2
|
+
[k in keyof T]-?: undefined extends T[k] ? never : k;
|
|
3
|
+
}[keyof T];
|
|
4
|
+
|
|
5
|
+
export default function checkRequiredProps<
|
|
6
|
+
Props extends { [key: string]: unknown },
|
|
7
|
+
>(tag: string, props: Props, required: RequiredKeys<Props>[]) {
|
|
8
|
+
for (const key of required) {
|
|
9
|
+
if (props[key] === undefined) {
|
|
10
|
+
console.error(
|
|
11
|
+
`Error: ${tag} property: ${
|
|
12
|
+
key as string
|
|
13
|
+
} is required but it was missing.`,
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|