react-native-maps 1.0.0-beta.1 → 1.0.0-beta.10

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 CHANGED
@@ -114,7 +114,7 @@ import { Marker } from 'react-native-maps';
114
114
  ```
115
115
 
116
116
  ### Rendering a Marker with a custom image
117
- 1. You need to generate an `png` image with various resolution (lets call them `custom_pin`) - for more information go to [Android](https://developer.android.com/studio/write/image-asset-studio#access), [iOS](https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/AddingImages.html)
117
+ 1. You need to generate an `png` image with various resolution (lets call them `custom_pin`) - for more information go to [Android](https://developer.android.com/studio/write/image-asset-studio#access), [iOS](https://developer.apple.com/documentation/xcode/adding-images-to-your-xcode-project)
118
118
  2. put all images in Android drawables and iOS assets dir
119
119
  3. Now you can use the following code:
120
120
  ```jsx
@@ -291,7 +291,7 @@ public class AirMapView extends MapView implements GoogleMap.InfoWindowAdapter,
291
291
  map.setOnPolylineClickListener(new GoogleMap.OnPolylineClickListener() {
292
292
  @Override
293
293
  public void onPolylineClick(Polyline polyline) {
294
- WritableMap event = makeClickEventData(polyline.getPoints().get(0));
294
+ WritableMap event = makeClickEventData(tapLocation);
295
295
  event.putString("action", "polyline-press");
296
296
  manager.pushEvent(context, polylineMap.get(polyline), "onPress", event);
297
297
  }
@@ -64,6 +64,7 @@ id regionAsJSON(MKCoordinateRegion region) {
64
64
  MKCoordinateRegion _region;
65
65
  BOOL _initialRegionSet;
66
66
  BOOL _initialCameraSet;
67
+ BOOL _didLayoutSubviews;
67
68
  BOOL _didPrepareMap;
68
69
  BOOL _didCallOnMapReady;
69
70
  BOOL _zoomTapEnabled;
@@ -86,6 +87,7 @@ id regionAsJSON(MKCoordinateRegion region) {
86
87
  _region = MKCoordinateRegionMake(CLLocationCoordinate2DMake(0.0, 0.0), MKCoordinateSpanMake(0.0, 0.0));
87
88
  _initialRegionSet = false;
88
89
  _initialCameraSet = false;
90
+ _didLayoutSubviews = false;
89
91
  _didPrepareMap = false;
90
92
  _didCallOnMapReady = false;
91
93
  _zoomTapEnabled = YES;
@@ -247,9 +249,28 @@ id regionAsJSON(MKCoordinateRegion region) {
247
249
  ];
248
250
  }
249
251
 
252
+ - (void)layoutSubviews {
253
+ [super layoutSubviews];
254
+ if(_didLayoutSubviews) return;
255
+ _didLayoutSubviews = true;
256
+
257
+ if (_initialCamera != nil) {
258
+ self.camera = _initialCamera;
259
+ _initialCameraSet = true;
260
+ }
261
+ else if (_initialRegion.span.latitudeDelta != 0.0 &&
262
+ _initialRegion.span.longitudeDelta != 0.0) {
263
+ self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:_initialRegion];
264
+ _initialRegionSet = true;
265
+ } else if (_region.span.latitudeDelta != 0.0 &&
266
+ _region.span.longitudeDelta != 0.0) {
267
+ self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:_region];
268
+ }
269
+ }
270
+
250
271
  - (void)setInitialRegion:(MKCoordinateRegion)initialRegion {
251
272
  _initialRegion = initialRegion;
252
- if(!_initialRegionSet && _didPrepareMap){
273
+ if(!_initialRegionSet && _didLayoutSubviews){
253
274
  self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:initialRegion];
254
275
  _initialRegionSet = true;
255
276
  }
@@ -257,7 +278,7 @@ id regionAsJSON(MKCoordinateRegion region) {
257
278
 
258
279
  - (void)setInitialCamera:(GMSCameraPosition*)initialCamera {
259
280
  _initialCamera = initialCamera;
260
- if(!_initialCameraSet && _didPrepareMap){
281
+ if(!_initialCameraSet && _didLayoutSubviews){
261
282
  self.camera = initialCamera;
262
283
  _initialCameraSet = true;
263
284
  }
@@ -266,7 +287,9 @@ id regionAsJSON(MKCoordinateRegion region) {
266
287
  - (void)setRegion:(MKCoordinateRegion)region {
267
288
  // TODO: The JS component is repeatedly setting region unnecessarily. We might want to deal with that in here.
268
289
  _region = region;
269
- self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:region];
290
+ if(_didLayoutSubviews) {
291
+ self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:region];
292
+ }
270
293
  }
271
294
 
272
295
  - (void)setCameraProp:(GMSCameraPosition*)camera {
@@ -286,17 +309,6 @@ id regionAsJSON(MKCoordinateRegion region) {
286
309
  UIView* mapView = [self valueForKey:@"mapView"]; //GMSVectorMapView
287
310
  [self overrideGestureRecognizersForView:mapView];
288
311
 
289
- if(!_didPrepareMap && !_initialRegionSet && !_initialCameraSet){
290
- if(_initialRegion.span.latitudeDelta != 0.0 && _initialRegion.span.longitudeDelta != 0.0){
291
- self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:_initialRegion];
292
- _initialRegionSet = true;
293
- } else if(_initialCamera != nil) {
294
- self.camera = _initialCamera;
295
- _initialCameraSet = true;
296
- } else if(_region.span.latitudeDelta != 0.0 && _region.span.longitudeDelta != 0.0) {
297
- self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:_region];
298
- }
299
- }
300
312
  if (!_didCallOnMapReady && self.onMapReady) {
301
313
  self.onMapReady(@{});
302
314
  _didCallOnMapReady = true;
@@ -326,6 +326,12 @@ CGRect unionRect(CGRect a, CGRect b) {
326
326
  _reloadImageCancellationBlock = nil;
327
327
  }
328
328
 
329
+ if (!_realMarker.icon) {
330
+ // prevent glitch with marker (cf. https://github.com/react-native-maps/react-native-maps/issues/3657)
331
+ UIImage *emptyImage = [[UIImage alloc] init];
332
+ _realMarker.icon = emptyImage;
333
+ }
334
+
329
335
  _reloadImageCancellationBlock =
330
336
  [[_bridge moduleForName:@"ImageLoader"] loadImageWithURLRequest:[RCTConvert NSURLRequest:_iconSrc]
331
337
  size:self.bounds.size
@@ -40,7 +40,6 @@ extern const NSInteger AIRMapMaxZoomLevel;
40
40
  @property (nonatomic, assign) CGFloat minDelta;
41
41
  @property (nonatomic, assign) CGFloat maxDelta;
42
42
  @property (nonatomic, assign) UIEdgeInsets legalLabelInsets;
43
- @property (nonatomic, strong) NSTimer *regionChangeObserveTimer;
44
43
  @property (nonatomic, assign) MKCoordinateRegion initialRegion;
45
44
  @property (nonatomic, assign) MKMapCamera *initialCamera;
46
45
  @property (nonatomic, assign) CGFloat minZoomLevel;
@@ -91,11 +91,6 @@ const NSInteger AIRMapMaxZoomLevel = 20;
91
91
  return self;
92
92
  }
93
93
 
94
- - (void)dealloc
95
- {
96
- [_regionChangeObserveTimer invalidate];
97
- }
98
-
99
94
  -(void)addSubview:(UIView *)view {
100
95
  if([view isKindOfClass:[AIRMapMarker class]]) {
101
96
  [self addAnnotation:(id <MKAnnotation>)view];
@@ -28,8 +28,6 @@
28
28
  #import "AIRMapSnapshot.h"
29
29
  #import "RCTConvert+AirMap.h"
30
30
  #import "AIRMapOverlay.h"
31
- #import "AIRWeakTimerReference.h"
32
- #import "AIRWeakMapReference.h"
33
31
  #import <MapKit/MapKit.h>
34
32
 
35
33
  static NSString *const RCTMapViewKey = @"MapView";
@@ -673,12 +671,11 @@ RCT_EXPORT_METHOD(getAddressFromCoordinates:(nonnull NSNumber *)reactTag
673
671
  }
674
672
 
675
673
  if (nearestDistance <= maxMeters) {
676
- AIRMapCoordinate *firstCoord = nearestPolyline.coordinates.firstObject;
677
674
  id event = @{
678
675
  @"action": @"polyline-press",
679
676
  @"coordinate": @{
680
- @"latitude": @(firstCoord.coordinate.latitude),
681
- @"longitude": @(firstCoord.coordinate.longitude)
677
+ @"latitude": @(tapCoordinate.latitude),
678
+ @"longitude": @(tapCoordinate.longitude)
682
679
  }
683
680
  };
684
681
  nearestPolyline.onPress(event);
@@ -943,30 +940,14 @@ static int kDragCenterContext;
943
940
 
944
941
  }
945
942
 
946
- - (void)mapView:(AIRMap *)mapView regionWillChangeAnimated:(__unused BOOL)animated
943
+ - (void)mapViewDidChangeVisibleRegion:(AIRMap *)mapView
947
944
  {
948
- // Don't send region did change events until map has
949
- // started rendering, as these won't represent the final location
950
- if(mapView.hasStartedRendering){
951
- [self _regionChanged:mapView];
952
- }
953
-
954
- AIRWeakTimerReference *weakTarget = [[AIRWeakTimerReference alloc] initWithTarget:self andSelector:@selector(_onTick:)];
955
-
956
- mapView.regionChangeObserveTimer = [NSTimer timerWithTimeInterval:AIRMapRegionChangeObserveInterval
957
- target:weakTarget
958
- selector:@selector(timerDidFire:)
959
- userInfo:@{ RCTMapViewKey: [[AIRWeakMapReference alloc] initWithMapView: mapView] }
960
- repeats:YES];
961
-
962
- [[NSRunLoop mainRunLoop] addTimer:mapView.regionChangeObserveTimer forMode:NSRunLoopCommonModes];
945
+ [self _regionChanged:mapView];
963
946
  }
964
947
 
965
948
  - (void)mapView:(AIRMap *)mapView regionDidChangeAnimated:(__unused BOOL)animated
966
949
  {
967
950
  CGFloat zoomLevel = [self zoomLevel:mapView];
968
- [mapView.regionChangeObserveTimer invalidate];
969
- mapView.regionChangeObserveTimer = nil;
970
951
 
971
952
  // Don't send region did change events until map has
972
953
  // started rendering, as these won't represent the final location
@@ -998,7 +979,6 @@ static int kDragCenterContext;
998
979
  mapView.hasStartedRendering = YES;
999
980
  }
1000
981
  [mapView beginLoading];
1001
- [self _emitRegionChangeEvent:mapView continuous:NO];
1002
982
  }
1003
983
 
1004
984
  - (void)mapViewDidFinishRenderingMap:(AIRMap *)mapView fullyRendered:(BOOL)fullyRendered
@@ -1008,12 +988,6 @@ static int kDragCenterContext;
1008
988
 
1009
989
  #pragma mark Private
1010
990
 
1011
- - (void)_onTick:(NSTimer *)timer
1012
- {
1013
- AIRWeakMapReference *weakRef = timer.userInfo[RCTMapViewKey];
1014
- [self _regionChanged:weakRef.mapView];
1015
- }
1016
-
1017
991
  - (void)_regionChanged:(AIRMap *)mapView
1018
992
  {
1019
993
  BOOL needZoom = NO;
package/lib/Geojson.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { Feature, FeatureCollection, Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon } from 'geojson';
3
- import { Props as MarkerProps } from './MapMarker';
4
- import { Props as PolygonProps } from './MapPolygon';
5
- import { Props as PolylineProps } from './MapPolyline';
3
+ import { MapMarkerProps as MarkerProps } from './MapMarker';
4
+ import { MapPolygonProps as PolygonProps } from './MapPolygon';
5
+ import { MapPolylineProps as PolylineProps } from './MapPolyline';
6
6
  import { LatLng } from './sharedTypes';
7
- declare type Props = {
7
+ export declare type GeojsonProps = {
8
8
  /**
9
9
  * The pincolor used on markers
10
10
  *
@@ -140,7 +140,7 @@ declare type Props = {
140
140
  */
141
141
  zIndex?: MarkerProps['zIndex'] | PolygonProps['zIndex'] | PolylineProps['zIndex'];
142
142
  };
143
- declare const Geojson: (props: Props) => JSX.Element;
143
+ declare const Geojson: (props: GeojsonProps) => JSX.Element;
144
144
  export default Geojson;
145
145
  declare type OverlayPressEvent = {
146
146
  type: AnyPointOverlay['type'] | AnyLineStringOverlay['type'] | AnyPolygonOverlay['type'];
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ViewProps } from 'react-native';
3
3
  import { MapManagerCommand, NativeComponent, ProviderContext, UIManagerCommand } from './decorateMapComponent';
4
4
  import { CalloutPressEvent } from './sharedTypes';
5
- declare type Props = ViewProps & {
5
+ export declare type MapCalloutProps = ViewProps & {
6
6
  /**
7
7
  * If `true`, clicks on transparent areas in callout will be passed to map.
8
8
  *
@@ -28,8 +28,8 @@ declare type Props = ViewProps & {
28
28
  */
29
29
  tooltip?: boolean;
30
30
  };
31
- declare type NativeProps = Props;
32
- export declare class MapCallout extends React.Component<Props> {
31
+ declare type NativeProps = MapCalloutProps;
32
+ export declare class MapCallout extends React.Component<MapCalloutProps> {
33
33
  context: React.ContextType<typeof ProviderContext>;
34
34
  getNativeComponent: () => NativeComponent<NativeProps>;
35
35
  getMapManagerCommand: (name: string) => MapManagerCommand;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { NativeSyntheticEvent, ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
4
  import { Frame, Point } from './sharedTypes';
5
- declare type Props = ViewProps & {
5
+ export declare type MapCalloutSubviewProps = ViewProps & {
6
6
  /**
7
7
  * Callback that is called when the user presses on this subview inside callout
8
8
  *
@@ -11,8 +11,8 @@ declare type Props = ViewProps & {
11
11
  */
12
12
  onPress?: (event: CalloutSubviewPressEvent) => void;
13
13
  };
14
- declare type NativeProps = Props;
15
- export declare class MapCalloutSubview extends React.Component<Props> {
14
+ declare type NativeProps = MapCalloutSubviewProps;
15
+ export declare class MapCalloutSubview extends React.Component<MapCalloutSubviewProps> {
16
16
  context: React.ContextType<typeof ProviderContext>;
17
17
  getNativeComponent: () => NativeComponent<NativeProps>;
18
18
  getMapManagerCommand: (name: string) => MapManagerCommand;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { View, ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
4
  import { LatLng, LineCapType, LineJoinType } from './sharedTypes';
5
- declare type Props = ViewProps & {
5
+ export declare type MapCircleProps = ViewProps & {
6
6
  /**
7
7
  * The coordinates of the center of the circle.
8
8
  *
@@ -100,16 +100,16 @@ declare type Props = ViewProps & {
100
100
  */
101
101
  zIndex?: number;
102
102
  };
103
- declare type NativeProps = Props & {
103
+ declare type NativeProps = MapCircleProps & {
104
104
  ref: React.RefObject<View>;
105
105
  };
106
- export declare class MapCircle extends React.Component<Props> {
106
+ export declare class MapCircle extends React.Component<MapCircleProps> {
107
107
  context: React.ContextType<typeof ProviderContext>;
108
108
  getNativeComponent: () => NativeComponent<NativeProps>;
109
109
  getMapManagerCommand: (name: string) => MapManagerCommand;
110
110
  getUIManagerCommand: (name: string) => UIManagerCommand;
111
111
  private circle;
112
- constructor(props: Props);
112
+ constructor(props: MapCircleProps);
113
113
  setNativeProps(props: Partial<NativeProps>): void;
114
114
  render(): JSX.Element;
115
115
  }
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { ProcessedColorValue, View, ViewProps } from 'react-native';
3
3
  import { MapManagerCommand, NativeComponent, ProviderContext, UIManagerCommand } from './decorateMapComponent';
4
- import { LatLng, Modify } from './sharedTypes';
5
- declare type Props = ViewProps & {
4
+ import { LatLng } from './sharedTypes';
5
+ import { Modify } from './sharedTypesInternal';
6
+ export declare type MapHeatmapProps = ViewProps & {
6
7
  gradient?: {
7
8
  /**
8
9
  * Resolution of color map -- number corresponding to the number of steps colors are interpolated into.
@@ -53,20 +54,20 @@ declare type Props = ViewProps & {
53
54
  */
54
55
  radius?: number;
55
56
  };
56
- declare type NativeProps = Modify<Props, {
57
- gradient?: Modify<Props['gradient'], {
57
+ declare type NativeProps = Modify<MapHeatmapProps, {
58
+ gradient?: Modify<MapHeatmapProps['gradient'], {
58
59
  colors: (ProcessedColorValue | null | undefined)[];
59
60
  }>;
60
61
  }> & {
61
62
  ref: React.RefObject<View>;
62
63
  };
63
- export declare class MapHeatmap extends React.Component<Props> {
64
+ export declare class MapHeatmap extends React.Component<MapHeatmapProps> {
64
65
  context: React.ContextType<typeof ProviderContext>;
65
66
  getNativeComponent: () => NativeComponent<NativeProps>;
66
67
  getMapManagerCommand: (name: string) => MapManagerCommand;
67
68
  getUIManagerCommand: (name: string) => UIManagerCommand;
68
69
  private heatmap;
69
- constructor(props: Props);
70
+ constructor(props: MapHeatmapProps);
70
71
  setNativeProps(props: Partial<NativeProps>): void;
71
72
  render(): JSX.Element;
72
73
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
- declare type Props = ViewProps & {
4
+ export declare type MapLocalTileProps = ViewProps & {
5
5
  /**
6
6
  * @platform iOS: Apple Maps only
7
7
  * @platform Android: Supported
@@ -23,8 +23,8 @@ declare type Props = ViewProps & {
23
23
  */
24
24
  zIndex?: number;
25
25
  };
26
- declare type NativeProps = Props;
27
- export declare class MapLocalTile extends React.Component<Props> {
26
+ declare type NativeProps = MapLocalTileProps;
27
+ export declare class MapLocalTile extends React.Component<MapLocalTileProps> {
28
28
  context: React.ContextType<typeof ProviderContext>;
29
29
  getNativeComponent: () => NativeComponent<NativeProps>;
30
30
  getMapManagerCommand: (name: string) => MapManagerCommand;
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { Animated, ViewProps, ImageURISource, ImageRequireSource, View } from 'react-native';
3
3
  import { MapManagerCommand, NativeComponent, ProviderContext, UIManagerCommand } from './decorateMapComponent';
4
- import { CalloutPressEvent, LatLng, MarkerDeselectEvent, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, MarkerSelectEvent, Modify, Point } from './sharedTypes';
5
- export declare type Props = ViewProps & {
4
+ import { CalloutPressEvent, LatLng, MarkerDeselectEvent, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, MarkerSelectEvent, Point } from './sharedTypes';
5
+ import { Modify } from './sharedTypesInternal';
6
+ export declare type MapMarkerProps = ViewProps & {
6
7
  /**
7
8
  * Sets the anchor point for the marker.
8
9
  * The anchor specifies the point in the icon image that is anchored to the marker's position on the Earth's surface.
@@ -259,21 +260,21 @@ export declare type Props = ViewProps & {
259
260
  */
260
261
  zIndex?: number;
261
262
  };
262
- declare type OmittedProps = Omit<Props, 'stopPropagation'>;
263
+ declare type OmittedProps = Omit<MapMarkerProps, 'stopPropagation'>;
263
264
  declare type NativeProps = Modify<OmittedProps, {
264
265
  icon?: string;
265
- image?: Props['image'] | string;
266
+ image?: MapMarkerProps['image'] | string;
266
267
  }> & {
267
268
  ref: React.RefObject<View>;
268
269
  };
269
- export declare class MapMarker extends React.Component<Props> {
270
+ export declare class MapMarker extends React.Component<MapMarkerProps> {
270
271
  context: React.ContextType<typeof ProviderContext>;
271
272
  getNativeComponent: () => NativeComponent<NativeProps>;
272
273
  getMapManagerCommand: (name: string) => MapManagerCommand;
273
274
  getUIManagerCommand: (name: string) => UIManagerCommand;
274
275
  static Animated: Animated.AnimatedComponent<typeof MapMarker>;
275
276
  private marker;
276
- constructor(props: Props);
277
+ constructor(props: MapMarkerProps);
277
278
  setNativeProps(props: Partial<NativeProps>): void;
278
279
  showCallout(): void;
279
280
  hideCallout(): void;
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { Animated, ViewProps, ImageURISource, ImageRequireSource, NativeSyntheticEvent } from 'react-native';
3
3
  import { MapManagerCommand, NativeComponent, ProviderContext, UIManagerCommand } from './decorateMapComponent';
4
- import { LatLng, Modify, Point } from './sharedTypes';
5
- declare type Props = ViewProps & {
4
+ import { LatLng, Point } from './sharedTypes';
5
+ import { Modify } from './sharedTypesInternal';
6
+ export declare type MapOverlayProps = ViewProps & {
6
7
  /**
7
8
  * The bearing in degrees clockwise from north. Values outside the range [0, 360) will be normalized.
8
9
  *
@@ -50,10 +51,10 @@ declare type Props = ViewProps & {
50
51
  */
51
52
  tappable?: boolean;
52
53
  };
53
- declare type NativeProps = Modify<Props, {
54
+ declare type NativeProps = Modify<MapOverlayProps, {
54
55
  image?: string;
55
56
  }>;
56
- export declare class MapOverlay extends React.Component<Props> {
57
+ export declare class MapOverlay extends React.Component<MapOverlayProps> {
57
58
  context: React.ContextType<typeof ProviderContext>;
58
59
  getNativeComponent: () => NativeComponent<NativeProps>;
59
60
  getMapManagerCommand: (name: string) => MapManagerCommand;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { NativeSyntheticEvent, View, ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
4
  import { LatLng, LineCapType, LineJoinType, Point } from './sharedTypes';
5
- export declare type Props = ViewProps & {
5
+ export declare type MapPolygonProps = ViewProps & {
6
6
  /**
7
7
  * An array of coordinates to describe the polygon
8
8
  *
@@ -122,17 +122,17 @@ export declare type Props = ViewProps & {
122
122
  */
123
123
  zIndex?: number;
124
124
  };
125
- declare type NativeProps = Props & {
125
+ declare type NativeProps = MapPolygonProps & {
126
126
  ref: React.RefObject<View>;
127
127
  };
128
- export declare class MapPolygon extends React.Component<Props> {
128
+ export declare class MapPolygon extends React.Component<MapPolygonProps> {
129
129
  context: React.ContextType<typeof ProviderContext>;
130
130
  getNativeComponent: () => NativeComponent<NativeProps>;
131
131
  getMapManagerCommand: (name: string) => MapManagerCommand;
132
132
  getUIManagerCommand: (name: string) => UIManagerCommand;
133
133
  private polygon;
134
- constructor(props: Props);
135
- setNativeProps(props: Partial<Props>): void;
134
+ constructor(props: MapPolygonProps);
135
+ setNativeProps(props: Partial<MapPolygonProps>): void;
136
136
  updateNativeProps(): () => void;
137
137
  render(): JSX.Element;
138
138
  }
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { NativeSyntheticEvent, View, ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
4
  import { LatLng, LineCapType, LineJoinType, Point } from './sharedTypes';
5
- export declare type Props = ViewProps & {
5
+ export declare type MapPolylineProps = ViewProps & {
6
6
  /**
7
7
  * An array of coordinates to describe the polyline
8
8
  *
@@ -124,16 +124,16 @@ export declare type Props = ViewProps & {
124
124
  */
125
125
  zIndex?: number;
126
126
  };
127
- declare type NativeProps = Props & {
127
+ declare type NativeProps = MapPolylineProps & {
128
128
  ref: React.RefObject<View>;
129
129
  };
130
- export declare class MapPolyline extends React.Component<Props> {
130
+ export declare class MapPolyline extends React.Component<MapPolylineProps> {
131
131
  context: React.ContextType<typeof ProviderContext>;
132
132
  getNativeComponent: () => NativeComponent<NativeProps>;
133
133
  getMapManagerCommand: (name: string) => MapManagerCommand;
134
134
  getUIManagerCommand: (name: string) => UIManagerCommand;
135
135
  private polyline;
136
- constructor(props: Props);
136
+ constructor(props: MapPolylineProps);
137
137
  setNativeProps(props: Partial<NativeProps>): void;
138
138
  render(): JSX.Element;
139
139
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
3
3
  import { ViewProps } from 'react-native';
4
- declare type Props = ViewProps & {
4
+ export declare type MapUrlTileProps = ViewProps & {
5
5
  /**
6
6
  * Doubles tile size from 256 to 512 utilising higher zoom levels
7
7
  * i.e loading 4 higher zoom level tiles and combining them for one high-resolution tile.
@@ -122,8 +122,8 @@ declare type Props = ViewProps & {
122
122
  */
123
123
  zIndex?: number;
124
124
  };
125
- declare type NativeProps = Props;
126
- export declare class MapUrlTile extends React.Component<Props> {
125
+ declare type NativeProps = MapUrlTileProps;
126
+ export declare class MapUrlTile extends React.Component<MapUrlTileProps> {
127
127
  context: React.ContextType<typeof ProviderContext>;
128
128
  getNativeComponent: () => NativeComponent<NativeProps>;
129
129
  getMapManagerCommand: (name: string) => MapManagerCommand;
package/lib/MapView.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
- import { Animated as RNAnimated, View, ViewProps, NativeSyntheticEvent, Animated } from 'react-native';
3
- import { CalloutPressEvent, ClickEvent, Frame, LatLng, MarkerDeselectEvent, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, MarkerSelectEvent, Modify, Point, Region } from './sharedTypes';
2
+ import { Animated as RNAnimated, Animated, NativeSyntheticEvent, View, ViewProps } from 'react-native';
3
+ import { CalloutPressEvent, ClickEvent, Frame, LatLng, MarkerDeselectEvent, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, MarkerSelectEvent, Point, Provider, Region } from './sharedTypes';
4
+ import { Address, BoundingBox, Camera, ChangeEvent, Details, EdgePadding, FitToOptions, IndoorBuildingEvent, IndoorLevelActivatedEvent, KmlMapEvent, LongPressEvent, MapPressEvent, MapStyleElement, MapType, MapTypes, PanDragEvent, PoiClickEvent, SnapshotOptions, UserLocationChangeEvent } from './MapView.types';
5
+ import { Modify } from './sharedTypesInternal';
4
6
  export declare const MAP_TYPES: MapTypes;
5
- declare type Props = ViewProps & {
7
+ export declare type MapViewProps = ViewProps & {
6
8
  /**
7
9
  * If `true` map will be cached and displayed as an image instead of being interactable, for performance usage.
8
10
  *
@@ -344,7 +346,7 @@ declare type Props = ViewProps & {
344
346
  * @platform iOS: Supported
345
347
  * @platform Android: Supported
346
348
  */
347
- provider?: 'google';
349
+ provider?: Provider;
348
350
  /**
349
351
  * The region to be displayed by the map.
350
352
  * The region is defined by the center coordinates and the span of coordinates to display.
@@ -384,7 +386,7 @@ declare type Props = ViewProps & {
384
386
  * @platform iOS: Not supported
385
387
  * @platform Android: Supported
386
388
  */
387
- showBuildings?: boolean;
389
+ showsBuildings?: boolean;
388
390
  /**
389
391
  * If `false` compass won't be displayed on the map.
390
392
  *
@@ -553,9 +555,9 @@ declare type Props = ViewProps & {
553
555
  */
554
556
  zoomTapEnabled?: boolean;
555
557
  };
556
- declare type ModifiedProps = Modify<Props, {
557
- region?: Props['region'] | null;
558
- initialRegion?: Props['initialRegion'] | null;
558
+ declare type ModifiedProps = Modify<MapViewProps, {
559
+ region?: MapViewProps['region'] | null;
560
+ initialRegion?: MapViewProps['initialRegion'] | null;
559
561
  }>;
560
562
  declare type NativeProps = Omit<ModifiedProps, 'customMapStyle' | 'onRegionChange' | 'onRegionChangeComplete'> & {
561
563
  ref: React.RefObject<View>;
@@ -567,15 +569,15 @@ declare type State = {
567
569
  isReady: boolean;
568
570
  };
569
571
  declare type SnapShot = Region | null;
570
- declare class MapView extends React.Component<Props, State, SnapShot> {
572
+ declare class MapView extends React.Component<MapViewProps, State, SnapShot> {
571
573
  static Animated: Animated.AnimatedComponent<typeof MapView>;
572
574
  private map;
573
575
  private __lastRegion;
574
576
  private __layoutCalled;
575
- constructor(props: Props);
577
+ constructor(props: MapViewProps);
576
578
  setNativeProps(props: Partial<NativeProps>): void;
577
- getSnapshotBeforeUpdate(prevProps: Props): Region | null;
578
- componentDidUpdate(_prevProps: Props, _prevState: State, region: SnapShot): void;
579
+ getSnapshotBeforeUpdate(prevProps: MapViewProps): Region | null;
580
+ componentDidUpdate(_prevProps: MapViewProps, _prevState: State, region: SnapShot): void;
579
581
  componentDidMount(): void;
580
582
  private _updateStyle;
581
583
  private _onMapReady;
@@ -602,13 +604,13 @@ declare class MapView extends React.Component<Props, State, SnapShot> {
602
604
  * Takes a snapshot of the map and saves it to a picture
603
605
  * file or returns the image as a base64 encoded string.
604
606
  *
605
- * @param config Configuration options
606
- * @param [config.width] Width of the rendered map-view (when omitted actual view width is used).
607
- * @param [config.height] Height of the rendered map-view (when omitted actual height is used).
608
- * @param [config.region] Region to render (Only supported on iOS).
609
- * @param [config.format] Encoding format ('png', 'jpg') (default: 'png').
610
- * @param [config.quality] Compression quality (only used for jpg) (default: 1.0).
611
- * @param [config.result] Result format ('file', 'base64') (default: 'file').
607
+ * @param args Configuration options
608
+ * @param [args.width] Width of the rendered map-view (when omitted actual view width is used).
609
+ * @param [args.height] Height of the rendered map-view (when omitted actual height is used).
610
+ * @param [args.region] Region to render (Only supported on iOS).
611
+ * @param [args.format] Encoding format ('png', 'jpg') (default: 'png').
612
+ * @param [args.quality] Compression quality (only used for jpg) (default: 1.0).
613
+ * @param [args.result] Result format ('file', 'base64') (default: 'file').
612
614
  *
613
615
  * @return Promise Promise with either the file-uri or base64 encoded string
614
616
  */
@@ -673,153 +675,3 @@ declare class MapView extends React.Component<Props, State, SnapShot> {
673
675
  export declare const AnimatedMapView: RNAnimated.AnimatedComponent<typeof MapView>;
674
676
  export declare const enableLatestRenderer: () => any;
675
677
  export default MapView;
676
- declare type Camera = {
677
- /**
678
- * Apple Maps
679
- */
680
- altitude?: number;
681
- center: LatLng;
682
- heading: number;
683
- pitch: number;
684
- /**
685
- * Google Maps
686
- */
687
- zoom?: number;
688
- };
689
- declare type MapStyleElement = {
690
- featureType?: string;
691
- elementType?: string;
692
- stylers: object[];
693
- };
694
- declare type EdgePadding = {
695
- top: Number;
696
- right: Number;
697
- bottom: Number;
698
- left: Number;
699
- };
700
- declare type MapType = 'hybrid' | 'mutedStandard' | 'none' | 'satellite' | 'standard' | 'terrain';
701
- declare type MapTypes = {
702
- STANDARD: 'standard';
703
- SATELLITE: 'satellite';
704
- HYBRID: 'hybrid';
705
- TERRAIN: 'terrain';
706
- NONE: 'none';
707
- MUTEDSTANDARD: 'mutedStandard';
708
- };
709
- declare type IndoorLevel = {
710
- index: number;
711
- name: string;
712
- shortName: string;
713
- };
714
- declare type ActiveIndoorLevel = {
715
- activeLevelIndex: number;
716
- name: string;
717
- shortName: string;
718
- };
719
- declare type IndoorLevelActivatedEvent = NativeSyntheticEvent<{
720
- IndoorLevel: ActiveIndoorLevel;
721
- }>;
722
- declare type IndoorBuilding = {
723
- underground: boolean;
724
- activeLevelIndex: number;
725
- levels: IndoorLevel[];
726
- };
727
- declare type IndoorBuildingEvent = NativeSyntheticEvent<{
728
- IndoorBuilding: IndoorBuilding;
729
- }>;
730
- declare type KmlMarker = {
731
- id: string;
732
- title: string;
733
- description: string;
734
- coordinate: LatLng;
735
- position: Point;
736
- };
737
- declare type KmlMapEvent = NativeSyntheticEvent<{
738
- markers: KmlMarker[];
739
- }>;
740
- declare type LongPressEvent = ClickEvent<{
741
- /**
742
- * @platform Android
743
- */
744
- action?: 'long-press';
745
- }>;
746
- declare type PanDragEvent = ClickEvent;
747
- declare type PoiClickEvent = NativeSyntheticEvent<{
748
- placeId: string;
749
- name: string;
750
- coordinate: LatLng;
751
- /**
752
- * @platform Android
753
- */
754
- position?: Point;
755
- }>;
756
- declare type MapPressEvent = ClickEvent<{
757
- /**
758
- * @platform Android
759
- */
760
- action?: 'press';
761
- }>;
762
- declare type Details = {
763
- isGesture?: boolean;
764
- };
765
- declare type UserLocationChangeEvent = NativeSyntheticEvent<{
766
- coordinate?: LatLng & {
767
- altitude: number;
768
- timestamp: number;
769
- accuracy: number;
770
- speed: number;
771
- heading: number;
772
- /**
773
- * @platform iOS
774
- */
775
- altitudeAccuracy?: number;
776
- /**
777
- * @platform Android
778
- */
779
- isFromMockProvider?: boolean;
780
- };
781
- /**
782
- * @platform iOS
783
- */
784
- error?: {
785
- message: string;
786
- };
787
- }>;
788
- declare type ChangeEvent = NativeSyntheticEvent<{
789
- continuous: boolean;
790
- region: Region;
791
- isGesture?: boolean;
792
- }>;
793
- declare type FitToOptions = {
794
- edgePadding?: EdgePadding;
795
- animated?: boolean;
796
- };
797
- declare type BoundingBox = {
798
- northEast: LatLng;
799
- southWest: LatLng;
800
- };
801
- declare type SnapshotOptions = {
802
- /** optional, when omitted the view-width is used */
803
- width?: number;
804
- /** optional, when omitted the view-height is used */
805
- height?: number;
806
- /** __iOS only__, optional region to render */
807
- region?: Region;
808
- /** image formats, defaults to 'png' */
809
- format?: 'png' | 'jpg';
810
- /** image quality: 0..1 (only relevant for jpg, default: 1) */
811
- quality?: number;
812
- /** result types, defaults to 'file' */
813
- result?: 'file' | 'base64';
814
- };
815
- declare type Address = {
816
- administrativeArea: string;
817
- country: string;
818
- countryCode: string;
819
- locality: string;
820
- name: string;
821
- postalCode: string;
822
- subAdministrativeArea: string;
823
- subLocality: string;
824
- thoroughfare: string;
825
- };
package/lib/MapView.js CHANGED
@@ -188,13 +188,13 @@ class MapView extends React.Component {
188
188
  * Takes a snapshot of the map and saves it to a picture
189
189
  * file or returns the image as a base64 encoded string.
190
190
  *
191
- * @param config Configuration options
192
- * @param [config.width] Width of the rendered map-view (when omitted actual view width is used).
193
- * @param [config.height] Height of the rendered map-view (when omitted actual height is used).
194
- * @param [config.region] Region to render (Only supported on iOS).
195
- * @param [config.format] Encoding format ('png', 'jpg') (default: 'png').
196
- * @param [config.quality] Compression quality (only used for jpg) (default: 1.0).
197
- * @param [config.result] Result format ('file', 'base64') (default: 'file').
191
+ * @param args Configuration options
192
+ * @param [args.width] Width of the rendered map-view (when omitted actual view width is used).
193
+ * @param [args.height] Height of the rendered map-view (when omitted actual height is used).
194
+ * @param [args.region] Region to render (Only supported on iOS).
195
+ * @param [args.format] Encoding format ('png', 'jpg') (default: 'png').
196
+ * @param [args.quality] Compression quality (only used for jpg) (default: 1.0).
197
+ * @param [args.result] Result format ('file', 'base64') (default: 'file').
198
198
  *
199
199
  * @return Promise Promise with either the file-uri or base64 encoded string
200
200
  */
@@ -0,0 +1,153 @@
1
+ import { ClickEvent, LatLng, Point, Region } from './sharedTypes';
2
+ import { NativeSyntheticEvent } from 'react-native';
3
+ export declare type Camera = {
4
+ /**
5
+ * Apple Maps
6
+ */
7
+ altitude?: number;
8
+ center: LatLng;
9
+ heading: number;
10
+ pitch: number;
11
+ /**
12
+ * Google Maps
13
+ */
14
+ zoom?: number;
15
+ };
16
+ export declare type MapStyleElement = {
17
+ featureType?: string;
18
+ elementType?: string;
19
+ stylers: object[];
20
+ };
21
+ export declare type EdgePadding = {
22
+ top: Number;
23
+ right: Number;
24
+ bottom: Number;
25
+ left: Number;
26
+ };
27
+ export declare type MapType = 'hybrid' | 'mutedStandard' | 'none' | 'satellite' | 'standard' | 'terrain';
28
+ export declare type MapTypes = {
29
+ STANDARD: 'standard';
30
+ SATELLITE: 'satellite';
31
+ HYBRID: 'hybrid';
32
+ TERRAIN: 'terrain';
33
+ NONE: 'none';
34
+ MUTEDSTANDARD: 'mutedStandard';
35
+ };
36
+ export declare type IndoorLevel = {
37
+ index: number;
38
+ name: string;
39
+ shortName: string;
40
+ };
41
+ export declare type ActiveIndoorLevel = {
42
+ activeLevelIndex: number;
43
+ name: string;
44
+ shortName: string;
45
+ };
46
+ export declare type IndoorLevelActivatedEvent = NativeSyntheticEvent<{
47
+ IndoorLevel: ActiveIndoorLevel;
48
+ }>;
49
+ export declare type IndoorBuilding = {
50
+ underground: boolean;
51
+ activeLevelIndex: number;
52
+ levels: IndoorLevel[];
53
+ };
54
+ export declare type IndoorBuildingEvent = NativeSyntheticEvent<{
55
+ IndoorBuilding: IndoorBuilding;
56
+ }>;
57
+ export declare type KmlMarker = {
58
+ id: string;
59
+ title: string;
60
+ description: string;
61
+ coordinate: LatLng;
62
+ position: Point;
63
+ };
64
+ export declare type KmlMapEvent = NativeSyntheticEvent<{
65
+ markers: KmlMarker[];
66
+ }>;
67
+ export declare type LongPressEvent = ClickEvent<{
68
+ /**
69
+ * @platform Android
70
+ */
71
+ action?: 'long-press';
72
+ }>;
73
+ export declare type PanDragEvent = ClickEvent;
74
+ export declare type PoiClickEvent = NativeSyntheticEvent<{
75
+ placeId: string;
76
+ name: string;
77
+ coordinate: LatLng;
78
+ /**
79
+ * @platform Android
80
+ */
81
+ position?: Point;
82
+ }>;
83
+ export declare type MapPressEvent = ClickEvent<{
84
+ /**
85
+ * @platform Android
86
+ */
87
+ action?: 'press';
88
+ }>;
89
+ export declare type Details = {
90
+ isGesture?: boolean;
91
+ };
92
+ export declare type UserLocationChangeEvent = NativeSyntheticEvent<{
93
+ coordinate?: LatLng & {
94
+ altitude: number;
95
+ timestamp: number;
96
+ accuracy: number;
97
+ speed: number;
98
+ heading: number;
99
+ /**
100
+ * @platform iOS
101
+ */
102
+ altitudeAccuracy?: number;
103
+ /**
104
+ * @platform Android
105
+ */
106
+ isFromMockProvider?: boolean;
107
+ };
108
+ /**
109
+ * @platform iOS
110
+ */
111
+ error?: {
112
+ message: string;
113
+ };
114
+ }>;
115
+ export declare type ChangeEvent = NativeSyntheticEvent<{
116
+ continuous: boolean;
117
+ region: Region;
118
+ isGesture?: boolean;
119
+ }>;
120
+ export declare type FitToOptions = {
121
+ edgePadding?: EdgePadding;
122
+ animated?: boolean;
123
+ };
124
+ export declare type BoundingBox = {
125
+ northEast: LatLng;
126
+ southWest: LatLng;
127
+ };
128
+ export declare type SnapshotOptions = {
129
+ /** optional, when omitted the view-width is used */
130
+ width?: number;
131
+ /** optional, when omitted the view-height is used */
132
+ height?: number;
133
+ /** __iOS only__, optional region to render */
134
+ region?: Region;
135
+ /** image formats, defaults to 'png' */
136
+ format?: 'png' | 'jpg';
137
+ /** image quality: 0..1 (only relevant for jpg, default: 1) */
138
+ quality?: number;
139
+ /** result types, defaults to 'file' */
140
+ result?: 'file' | 'base64';
141
+ };
142
+ export declare type Address = {
143
+ administrativeArea: string;
144
+ country: string;
145
+ countryCode: string;
146
+ locality: string;
147
+ name: string;
148
+ postalCode: string;
149
+ subAdministrativeArea: string;
150
+ subLocality: string;
151
+ thoroughfare: string;
152
+ };
153
+ export declare type NativeCommandName = 'animateCamera' | 'animateToRegion' | 'coordinateForPoint' | 'fitToCoordinates' | 'fitToElements' | 'fitToSuppliedMarkers' | 'getAddressFromCoordinates' | 'getCamera' | 'getMapBoundaries' | 'getMarkersFrames' | 'pointForCoordinate' | 'setCamera' | 'setIndoorActiveLevelIndex' | 'setMapBoundaries' | 'takeSnapshot';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ViewProps } from 'react-native';
3
3
  import { ProviderContext, NativeComponent, MapManagerCommand, UIManagerCommand } from './decorateMapComponent';
4
- declare type Props = ViewProps & {
4
+ export declare type MapWMSTileProps = ViewProps & {
5
5
  /**
6
6
  * The maximum native zoom level for this tile overlay i.e. the highest zoom level that the tile server provides.
7
7
  * Tiles are auto-scaled for higher zoom levels.
@@ -104,8 +104,8 @@ declare type Props = ViewProps & {
104
104
  */
105
105
  zIndex?: number;
106
106
  };
107
- declare type NativeProps = Props;
108
- export declare class MapWMSTile extends React.Component<Props> {
107
+ declare type NativeProps = MapWMSTileProps;
108
+ export declare class MapWMSTile extends React.Component<MapWMSTileProps> {
109
109
  context: React.ContextType<typeof ProviderContext>;
110
110
  getNativeComponent: () => NativeComponent<NativeProps>;
111
111
  getMapManagerCommand: (name: string) => MapManagerCommand;
package/lib/index.d.ts CHANGED
@@ -1,20 +1,37 @@
1
- import MapView, { AnimatedMapView as Animated, MAP_TYPES, enableLatestRenderer } from './MapView';
1
+ import MapView, { AnimatedMapView as Animated, MAP_TYPES, enableLatestRenderer, MapViewProps } from './MapView';
2
2
  import Marker from './MapMarker';
3
+ export { MapMarker } from './MapMarker';
4
+ export type { MapMarkerProps } from './MapMarker';
3
5
  import Overlay from './MapOverlay';
4
- export { default as Polyline } from './MapPolyline';
5
- export { default as Heatmap } from './MapHeatmap';
6
- export { default as Polygon } from './MapPolygon';
7
- export { default as Circle } from './MapCircle';
8
- export { default as UrlTile } from './MapUrlTile';
9
- export { default as WMSTile } from './MapWMSTile';
10
- export { default as LocalTile } from './MapLocalTile';
11
- export { default as Callout } from './MapCallout';
12
- export { default as CalloutSubview } from './MapCalloutSubview';
6
+ export { MapOverlay } from './MapOverlay';
7
+ export type { MapOverlayProps } from './MapOverlay';
8
+ export { default as Polyline, MapPolyline } from './MapPolyline';
9
+ export type { MapPolylineProps } from './MapPolyline';
10
+ export { default as Heatmap, MapHeatmap } from './MapHeatmap';
11
+ export type { MapHeatmapProps } from './MapHeatmap';
12
+ export { default as Polygon, MapPolygon } from './MapPolygon';
13
+ export type { MapPolygonProps } from './MapPolygon';
14
+ export { default as Circle, MapCircle } from './MapCircle';
15
+ export type { MapCircleProps } from './MapCircle';
16
+ export { default as UrlTile, MapUrlTile } from './MapUrlTile';
17
+ export type { MapUrlTileProps } from './MapUrlTile';
18
+ export { default as WMSTile, MapWMSTile } from './MapWMSTile';
19
+ export type { MapWMSTileProps } from './MapWMSTile';
20
+ export { default as LocalTile, MapLocalTile } from './MapLocalTile';
21
+ export type { MapLocalTileProps } from './MapLocalTile';
22
+ export { default as Callout, MapCallout } from './MapCallout';
23
+ export type { MapCalloutProps } from './MapCallout';
24
+ export { default as CalloutSubview, MapCalloutSubview, } from './MapCalloutSubview';
25
+ export type { MapCalloutSubviewProps } from './MapCalloutSubview';
13
26
  export { default as AnimatedRegion } from './AnimatedRegion';
14
27
  export { default as Geojson } from './Geojson';
28
+ export type { GeojsonProps } from './Geojson';
15
29
  export { Marker, Overlay };
30
+ export type { MapViewProps };
16
31
  export { Animated, MAP_TYPES, enableLatestRenderer };
17
32
  export * from './ProviderConstants';
33
+ export * from './MapView.types';
34
+ export * from './sharedTypes';
18
35
  export declare const MarkerAnimated: import("react-native").Animated.AnimatedComponent<typeof import("./MapMarker").MapMarker>;
19
36
  export declare const OverlayAnimated: import("react-native").Animated.AnimatedComponent<typeof import("./MapOverlay").MapOverlay>;
20
37
  export default MapView;
package/lib/index.js CHANGED
@@ -29,38 +29,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.OverlayAnimated = exports.MarkerAnimated = exports.enableLatestRenderer = exports.MAP_TYPES = exports.Animated = exports.Overlay = exports.Marker = exports.Geojson = exports.AnimatedRegion = exports.CalloutSubview = exports.Callout = exports.LocalTile = exports.WMSTile = exports.UrlTile = exports.Circle = exports.Polygon = exports.Heatmap = exports.Polyline = void 0;
32
+ exports.OverlayAnimated = exports.MarkerAnimated = exports.enableLatestRenderer = exports.MAP_TYPES = exports.Animated = exports.Overlay = exports.Marker = exports.Geojson = exports.AnimatedRegion = exports.MapCalloutSubview = exports.CalloutSubview = exports.MapCallout = exports.Callout = exports.MapLocalTile = exports.LocalTile = exports.MapWMSTile = exports.WMSTile = exports.MapUrlTile = exports.UrlTile = exports.MapCircle = exports.Circle = exports.MapPolygon = exports.Polygon = exports.MapHeatmap = exports.Heatmap = exports.MapPolyline = exports.Polyline = exports.MapOverlay = exports.MapMarker = void 0;
33
33
  const MapView_1 = __importStar(require("./MapView"));
34
34
  Object.defineProperty(exports, "Animated", { enumerable: true, get: function () { return MapView_1.AnimatedMapView; } });
35
35
  Object.defineProperty(exports, "MAP_TYPES", { enumerable: true, get: function () { return MapView_1.MAP_TYPES; } });
36
36
  Object.defineProperty(exports, "enableLatestRenderer", { enumerable: true, get: function () { return MapView_1.enableLatestRenderer; } });
37
37
  const MapMarker_1 = __importDefault(require("./MapMarker"));
38
38
  exports.Marker = MapMarker_1.default;
39
+ var MapMarker_2 = require("./MapMarker");
40
+ Object.defineProperty(exports, "MapMarker", { enumerable: true, get: function () { return MapMarker_2.MapMarker; } });
39
41
  const MapOverlay_1 = __importDefault(require("./MapOverlay"));
40
42
  exports.Overlay = MapOverlay_1.default;
43
+ var MapOverlay_2 = require("./MapOverlay");
44
+ Object.defineProperty(exports, "MapOverlay", { enumerable: true, get: function () { return MapOverlay_2.MapOverlay; } });
41
45
  var MapPolyline_1 = require("./MapPolyline");
42
46
  Object.defineProperty(exports, "Polyline", { enumerable: true, get: function () { return __importDefault(MapPolyline_1).default; } });
47
+ Object.defineProperty(exports, "MapPolyline", { enumerable: true, get: function () { return MapPolyline_1.MapPolyline; } });
43
48
  var MapHeatmap_1 = require("./MapHeatmap");
44
49
  Object.defineProperty(exports, "Heatmap", { enumerable: true, get: function () { return __importDefault(MapHeatmap_1).default; } });
50
+ Object.defineProperty(exports, "MapHeatmap", { enumerable: true, get: function () { return MapHeatmap_1.MapHeatmap; } });
45
51
  var MapPolygon_1 = require("./MapPolygon");
46
52
  Object.defineProperty(exports, "Polygon", { enumerable: true, get: function () { return __importDefault(MapPolygon_1).default; } });
53
+ Object.defineProperty(exports, "MapPolygon", { enumerable: true, get: function () { return MapPolygon_1.MapPolygon; } });
47
54
  var MapCircle_1 = require("./MapCircle");
48
55
  Object.defineProperty(exports, "Circle", { enumerable: true, get: function () { return __importDefault(MapCircle_1).default; } });
56
+ Object.defineProperty(exports, "MapCircle", { enumerable: true, get: function () { return MapCircle_1.MapCircle; } });
49
57
  var MapUrlTile_1 = require("./MapUrlTile");
50
58
  Object.defineProperty(exports, "UrlTile", { enumerable: true, get: function () { return __importDefault(MapUrlTile_1).default; } });
59
+ Object.defineProperty(exports, "MapUrlTile", { enumerable: true, get: function () { return MapUrlTile_1.MapUrlTile; } });
51
60
  var MapWMSTile_1 = require("./MapWMSTile");
52
61
  Object.defineProperty(exports, "WMSTile", { enumerable: true, get: function () { return __importDefault(MapWMSTile_1).default; } });
62
+ Object.defineProperty(exports, "MapWMSTile", { enumerable: true, get: function () { return MapWMSTile_1.MapWMSTile; } });
53
63
  var MapLocalTile_1 = require("./MapLocalTile");
54
64
  Object.defineProperty(exports, "LocalTile", { enumerable: true, get: function () { return __importDefault(MapLocalTile_1).default; } });
65
+ Object.defineProperty(exports, "MapLocalTile", { enumerable: true, get: function () { return MapLocalTile_1.MapLocalTile; } });
55
66
  var MapCallout_1 = require("./MapCallout");
56
67
  Object.defineProperty(exports, "Callout", { enumerable: true, get: function () { return __importDefault(MapCallout_1).default; } });
68
+ Object.defineProperty(exports, "MapCallout", { enumerable: true, get: function () { return MapCallout_1.MapCallout; } });
57
69
  var MapCalloutSubview_1 = require("./MapCalloutSubview");
58
70
  Object.defineProperty(exports, "CalloutSubview", { enumerable: true, get: function () { return __importDefault(MapCalloutSubview_1).default; } });
71
+ Object.defineProperty(exports, "MapCalloutSubview", { enumerable: true, get: function () { return MapCalloutSubview_1.MapCalloutSubview; } });
59
72
  var AnimatedRegion_1 = require("./AnimatedRegion");
60
73
  Object.defineProperty(exports, "AnimatedRegion", { enumerable: true, get: function () { return __importDefault(AnimatedRegion_1).default; } });
61
74
  var Geojson_1 = require("./Geojson");
62
75
  Object.defineProperty(exports, "Geojson", { enumerable: true, get: function () { return __importDefault(Geojson_1).default; } });
63
76
  __exportStar(require("./ProviderConstants"), exports);
77
+ __exportStar(require("./MapView.types"), exports);
78
+ __exportStar(require("./sharedTypes"), exports);
64
79
  exports.MarkerAnimated = MapMarker_1.default.Animated;
65
80
  exports.OverlayAnimated = MapOverlay_1.default.Animated;
66
81
  exports.default = MapView_1.default;
@@ -1,5 +1,4 @@
1
1
  import { NativeSyntheticEvent } from 'react-native';
2
- export declare type Modify<T, R> = Omit<T, keyof R> & R;
3
2
  export declare type Provider = 'google' | undefined;
4
3
  export declare type LatLng = {
5
4
  latitude: number;
@@ -0,0 +1 @@
1
+ export declare type Modify<T, R> = Omit<T, keyof R> & R;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -3,7 +3,8 @@
3
3
  "description": "React Native Mapview component for iOS + Android",
4
4
  "main": "lib/index.js",
5
5
  "author": "Leland Richardson <leland.m.richardson@gmail.com>",
6
- "version": "1.0.0-beta.1",
6
+ "homepage": "https://github.com/react-native-maps/react-native-maps#readme",
7
+ "version": "1.0.0-beta.10",
7
8
  "license": "MIT",
8
9
  "scripts": {
9
10
  "lint": "eslint . --max-warnings 0",
@@ -49,19 +50,19 @@
49
50
  }
50
51
  },
51
52
  "devDependencies": {
52
- "@commitlint/cli": "17.0.2",
53
- "@commitlint/config-conventional": "17.0.2",
54
- "@react-native-community/eslint-config": "^3.0.2",
55
- "@types/react-native": "0.67.8",
53
+ "@commitlint/cli": "17.0.3",
54
+ "@commitlint/config-conventional": "17.0.3",
55
+ "@react-native-community/eslint-config": "3.0.3",
56
+ "@types/react-native": "0.69.2",
56
57
  "babel-jest": "^27.3.1",
57
- "eslint": "7.32.0",
58
+ "eslint": "^7.32.0",
58
59
  "husky": "8.0.1",
59
60
  "jest": "^27.3.1",
60
- "prettier": "2.6.2",
61
- "react": "17.0.2",
62
- "react-native": "0.68.2",
63
- "semantic-release": "19.0.2",
64
- "typescript": "4.7.3"
61
+ "prettier": "2.7.1",
62
+ "react": "18.0.0",
63
+ "react-native": "0.69.1",
64
+ "semantic-release": "19.0.3",
65
+ "typescript": "4.7.4"
65
66
  },
66
67
  "dependencies": {
67
68
  "@types/geojson": "^7946.0.8"
@@ -5,18 +5,17 @@ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
5
5
  Pod::Spec.new do |s|
6
6
  s.name = "react-native-google-maps"
7
7
  s.version = package['version']
8
- s.summary = "React Native Mapview component for iOS + Android"
9
-
10
- s.authors = { "intelligibabble" => "leland.m.richardson@gmail.com" }
11
- s.homepage = "https://github.com/react-native-maps/react-native-maps#readme"
12
- s.license = "MIT"
13
- s.platform = :ios, "12.0"
8
+ s.summary = package["description"]
9
+ s.authors = package["author"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
12
+ s.platform = :ios, "13.0"
14
13
 
15
14
  s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
15
  s.source_files = "ios/AirGoogleMaps/**/*.{h,m}"
17
16
  s.compiler_flags = '-DHAVE_GOOGLE_MAPS=1', '-DHAVE_GOOGLE_MAPS_UTILS=1', '-fno-modules'
18
17
 
19
18
  s.dependency 'React-Core'
20
- s.dependency 'GoogleMaps', '6.2.1'
19
+ s.dependency 'GoogleMaps', '7.0.0'
21
20
  s.dependency 'Google-Maps-iOS-Utils', '4.1.0'
22
21
  end
@@ -5,11 +5,10 @@ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
5
5
  Pod::Spec.new do |s|
6
6
  s.name = "react-native-maps"
7
7
  s.version = package['version']
8
- s.summary = "React Native Mapview component for iOS + Android"
9
-
10
- s.authors = { "intelligibabble" => "leland.m.richardson@gmail.com" }
11
- s.homepage = "https://github.com/react-native-maps/react-native-maps#readme"
12
- s.license = "MIT"
8
+ s.summary = package["description"]
9
+ s.authors = package["author"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
13
12
  s.platform = :ios, "11.0"
14
13
 
15
14
  s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }