react-native-maps 1.21.0-alpha.82 → 1.21.0-alpha.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  2. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +24 -0
  3. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +24 -0
  5. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +1 -0
  6. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +1 -0
  7. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +22 -0
  8. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +22 -0
  9. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +11 -0
  10. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +45 -0
  11. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +1 -0
  12. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +11 -0
  13. package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +12 -0
  14. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +1 -0
  15. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +0 -1
  16. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  17. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +5 -1
  18. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +287 -149
  19. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +1 -0
  20. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +1 -0
  21. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +22 -0
  22. package/ios/generated/RNMapsSpecs/EventEmitters.h +22 -0
  23. package/ios/generated/RNMapsSpecs/Props.cpp +11 -0
  24. package/ios/generated/RNMapsSpecs/Props.h +45 -0
  25. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +4 -0
  26. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +1 -0
  27. package/ios/generated/RNMapsSpecs/ShadowNodes.h +11 -0
  28. package/ios/generated/RNMapsSpecs/States.h +12 -0
  29. package/lib/MapMarker.js +6 -1
  30. package/lib/MapOverlay.d.ts +1 -0
  31. package/lib/MapOverlay.js +22 -4
  32. package/lib/decorateMapComponent.js +5 -0
  33. package/lib/specs/NativeComponentOverlay.d.ts +67 -0
  34. package/lib/specs/NativeComponentOverlay.js +7 -0
  35. package/package.json +1 -1
package/lib/MapMarker.js CHANGED
@@ -127,7 +127,12 @@ class MapMarker extends React.Component {
127
127
  let image;
128
128
  if (this.props.image) {
129
129
  if (this.fabricMarker) {
130
- image = this.props.image;
130
+ if (typeof this.props.image === 'string') {
131
+ image = { uri: this.props.image };
132
+ }
133
+ else {
134
+ image = this.props.image;
135
+ }
131
136
  }
132
137
  else {
133
138
  const resolvedImage = react_native_1.Image.resolveAssetSource(this.props.image) || {};
@@ -60,6 +60,7 @@ export declare class MapOverlay extends React.Component<MapOverlayProps> {
60
60
  getMapManagerCommand: (name: string) => MapManagerCommand;
61
61
  getUIManagerCommand: (name: string) => UIManagerCommand;
62
62
  static Animated: Animated.AnimatedComponent<typeof MapOverlay>;
63
+ private fabricOverlay?;
63
64
  render(): React.JSX.Element;
64
65
  }
65
66
  type Coordinate = [number, number];
package/lib/MapOverlay.js CHANGED
@@ -32,13 +32,31 @@ class MapOverlay extends React.Component {
32
32
  getMapManagerCommand;
33
33
  getUIManagerCommand;
34
34
  static Animated;
35
+ fabricOverlay = undefined;
35
36
  render() {
36
37
  const { opacity = 1.0 } = this.props;
37
- let image;
38
- const resolvedImage = react_native_1.Image.resolveAssetSource(this.props.image) || {};
39
- image = resolvedImage.uri || this.props.image;
38
+ if (this.fabricOverlay === undefined) {
39
+ this.fabricOverlay = react_native_1.Platform.OS === 'android';
40
+ }
40
41
  const AIRMapOverlay = this.getNativeComponent();
41
- return (<AIRMapOverlay {...this.props} opacity={opacity} image={image} style={[styles.overlay, this.props.style]}/>);
42
+ let image;
43
+ if (this.props.image) {
44
+ if (this.fabricOverlay) {
45
+ if (typeof this.props.image === 'string') {
46
+ image = { uri: this.props.image };
47
+ }
48
+ else {
49
+ image = this.props.image;
50
+ }
51
+ }
52
+ else {
53
+ const resolvedImage = react_native_1.Image.resolveAssetSource(this.props.image) || {};
54
+ image = resolvedImage.uri || this.props.image;
55
+ }
56
+ }
57
+ return (<AIRMapOverlay {...this.props} opacity={opacity}
58
+ // @ts-ignore
59
+ image={image} style={[styles.overlay, this.props.style]}/>);
42
60
  }
43
61
  }
44
62
  exports.MapOverlay = MapOverlay;
@@ -12,6 +12,7 @@ const NativeComponentMarker_1 = __importDefault(require("./specs/NativeComponent
12
12
  const NativeComponentCallout_1 = __importDefault(require("./specs/NativeComponentCallout"));
13
13
  const NativeComponentPolyline_1 = __importDefault(require("./specs/NativeComponentPolyline"));
14
14
  const NativeComponentCircle_1 = __importDefault(require("./specs/NativeComponentCircle"));
15
+ const NativeComponentOverlay_1 = __importDefault(require("./specs/NativeComponentOverlay"));
15
16
  exports.SUPPORTED = 'SUPPORTED';
16
17
  exports.USES_DEFAULT_IMPLEMENTATION = 'USES_DEFAULT_IMPLEMENTATION';
17
18
  exports.NOT_SUPPORTED = 'NOT_SUPPORTED';
@@ -68,6 +69,10 @@ function decorateMapComponent(Component, componentName, providers) {
68
69
  // @ts-ignore
69
70
  return NativeComponentCircle_1.default;
70
71
  }
72
+ else if (componentName === 'Overlay') {
73
+ // @ts-ignore
74
+ return NativeComponentOverlay_1.default;
75
+ }
71
76
  }
72
77
  const key = provider || 'default';
73
78
  if (components[key]) {
@@ -0,0 +1,67 @@
1
+ import { Double, Float, BubblingEventHandler, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
2
+ import type { ViewProps, HostComponent, ImageSourcePropType as ImageSource } from 'react-native';
3
+ export type LatLng = Readonly<{
4
+ latitude: Double;
5
+ longitude: Double;
6
+ }>;
7
+ export type OverlayPressEventHandler = BubblingEventHandler<Readonly<{
8
+ action?: string;
9
+ id: string;
10
+ coordinate: {
11
+ latitude: Double;
12
+ longitude: Double;
13
+ };
14
+ position?: {
15
+ x: Double;
16
+ y: Double;
17
+ };
18
+ }>>;
19
+ export interface OverlayFabricNativeProps extends ViewProps {
20
+ /**
21
+ * The bearing in degrees clockwise from north. Values outside the range [0, 360) will be normalized.
22
+ *
23
+ * @default 0
24
+ * @platform iOS: Google Maps only
25
+ * @platform Android: Supported
26
+ */
27
+ bearing?: Float;
28
+ /**
29
+ * The coordinates for the image (left-top corner, right-bottom corner). ie.```[[lat, long], [lat, long]]```
30
+ *
31
+ * @platform iOS: Supported
32
+ * @platform Android: Supported
33
+ */
34
+ bounds: ReadonlyArray<LatLng>;
35
+ /**
36
+ * A custom image to be used as the overlay.
37
+ * Only required local image resources and uri (as for images located in the net) are allowed to be used.
38
+ *
39
+ * @platform iOS: Supported
40
+ * @platform Android: Supported
41
+ */
42
+ image?: ImageSource | null;
43
+ /**
44
+ * Callback that is called when user taps on the map.
45
+ *
46
+ * @platform iOS: Supported
47
+ * @platform Android: Supported
48
+ */
49
+ onPress?: OverlayPressEventHandler;
50
+ /**
51
+ * The overlay's opacity between 0.0 and 1.0.
52
+ *
53
+ * @default 1.0
54
+ * @platform iOS: Supported
55
+ * @platform Android: Supported
56
+ */
57
+ opacity?: WithDefault<Float, 1.0>;
58
+ /**
59
+ * Boolean to allow a polygon to be tappable and use the onPress function.
60
+ *
61
+ * @platform iOS: Google Maps only
62
+ * @platform Android: Supported
63
+ */
64
+ tappable?: boolean;
65
+ }
66
+ declare const _default: HostComponent<OverlayFabricNativeProps>;
67
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const codegenNativeComponent_1 = __importDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
7
+ exports.default = (0, codegenNativeComponent_1.default)('RNMapsOverlay', {});
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "main": "lib/index.js",
6
6
  "author": "Leland Richardson <leland.m.richardson@gmail.com>",
7
7
  "homepage": "https://github.com/react-native-maps/react-native-maps#readme",
8
- "version": "1.21.0-alpha.82",
8
+ "version": "1.21.0-alpha.84",
9
9
  "license": "MIT",
10
10
  "scripts": {
11
11
  "lint": "eslint . --max-warnings 0",