From 32350e26cf7c2be6031dbabf23b8e27cd7269c00 Mon Sep 17 00:00:00 2001 From: Sagi Kedmi Date: Sun, 23 Jul 2017 12:46:57 +0300 Subject: [PATCH 01/20] Remove caret from "react": "^16.0.0-alpha.12" `npm install` / `yarn install` auto updates to `16.0.0-alpha.13` which breaks the proptypes import. Removing caret to prevent auto update to `alpha.13`. For more information: https://github.com/facebook/react-native/issues/14454 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7cb48301b..332063dbb 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "gitbook-cli": "^2.3.0", "lodash": "^4.17.2", "prop-types": "^15.5.10", - "react": "^16.0.0-alpha.12", + "react": "16.0.0-alpha.12", "react-native": "^0.45.1" }, "rnpm": { From 80a570e26bf479af0fbe4c106480440ac332637f Mon Sep 17 00:00:00 2001 From: Matt Shen Date: Tue, 1 Aug 2017 15:49:28 +1000 Subject: [PATCH 02/20] fix rare android crashes when map size is 0 --- .../airbnb/android/react/maps/AirMapView.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java index c8b016ce1..bc52506cf 100644 --- a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +++ b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java @@ -541,16 +541,17 @@ public void updateExtraData(Object extraData) { // a proper camera move if (boundsToMove != null) { HashMap data = (HashMap) extraData; - float width = data.get("width"); - float height = data.get("height"); - map.moveCamera( - CameraUpdateFactory.newLatLngBounds( - boundsToMove, - (int) width, - (int) height, - 0 - ) - ); + int width = data.get("width") == null ? 0 : data.get("width").intValue(); + int height = data.get("height") == null ? 0 : data.get("height").intValue(); + + //fix for https://github.com/airbnb/react-native-maps/issues/245, + //it's not guaranteed the passed-in height and width would be greater than 0. + if (width <= 0 || height <= 0) { + map.moveCamera(CameraUpdateFactory.newLatLngBounds(boundsToMove, 0)); + } else { + map.moveCamera(CameraUpdateFactory.newLatLngBounds(boundsToMove, width, height, 0)); + } + boundsToMove = null; } } From 7006e3afee2cb82e20a1bd3c10ce5e163a3c448c Mon Sep 17 00:00:00 2001 From: sandinosaso Date: Fri, 11 Aug 2017 00:43:08 -0300 Subject: [PATCH 03/20] Adds support to animateToBearing and animateToViewingAngle functions on IOS. --- docs/mapview.md | 2 ++ example/examples/DisplayLatLng.js | 24 ++++++++++++++ lib/components/MapView.js | 8 +++++ lib/ios/AirGoogleMaps/AIRGoogleMapManager.m | 36 +++++++++++++++++++++ 4 files changed, 70 insertions(+) diff --git a/docs/mapview.md b/docs/mapview.md index a73e123b8..8cc1d8291 100644 --- a/docs/mapview.md +++ b/docs/mapview.md @@ -64,6 +64,8 @@ To access event data, you will need to use `e.nativeEvent`. For example, `onPres |---|---|---| | `animateToRegion` | `region: Region`, `duration: Number` | | `animateToCoordinate` | `coordinate: LatLng`, `duration: Number` | +| `animateToBearing` | `bearing: Number`, `duration: Number` | +| `animateToViewingAngle` | `angle: Number`, `duration: Number` | | `fitToElements` | `animated: Boolean` | | `fitToSuppliedMarkers` | `markerIDs: String[]`, `animated: Boolean` | If you need to use this in `ComponentDidMount`, make sure you put it in a timeout or it will cause performance problems. | `fitToCoordinates` | `coordinates: Array, options: { edgePadding: EdgePadding, animated: Boolean }` | If called in `ComponentDidMount` in android, it will cause an exception. It is recommended to call it from the MapView `onLayout` event. diff --git a/example/examples/DisplayLatLng.js b/example/examples/DisplayLatLng.js index aa2dde2ac..688427b35 100644 --- a/example/examples/DisplayLatLng.js +++ b/example/examples/DisplayLatLng.js @@ -47,6 +47,18 @@ class DisplayLatLng extends React.Component { this.map.animateToCoordinate(this.randomCoordinate()); } + animateToRandomBearing() { + this.map.animateToBearing(this.getRandomFloat(-360, 360)); + } + + animateToRandomViewingAngle() { + this.map.animateToViewingAngle(this.getRandomFloat(0, 90)); + } + + getRandomFloat(min, max) { + return (Math.random() * (max - min)) + min; + } + randomCoordinate() { const region = this.state.region; return { @@ -98,6 +110,18 @@ class DisplayLatLng extends React.Component { > Animate (Coordinate) + this.animateToRandomBearing()} + style={[styles.bubble, styles.button]} + > + Animate (Bearing) + + this.animateToRandomViewingAngle()} + style={[styles.bubble, styles.button]} + > + Animate (View Angle) + ); diff --git a/lib/components/MapView.js b/lib/components/MapView.js index e3763f8f3..19256b85c 100644 --- a/lib/components/MapView.js +++ b/lib/components/MapView.js @@ -492,6 +492,14 @@ class MapView extends React.Component { this._runCommand('animateToCoordinate', [latLng, duration || 500]); } + animateToBearing(bearing, duration) { + this._runCommand('animateToBearing', [bearing, duration || 500]); + } + + animateToViewingAngle(angle, duration) { + this._runCommand('animateToViewingAngle', [angle, duration || 500]); + } + fitToElements(animated) { this._runCommand('fitToElements', [animated]); } diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m b/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m index 53157e99a..c1531b5a7 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m @@ -108,6 +108,42 @@ - (UIView *)view }]; } +RCT_EXPORT_METHOD(animateToViewingAngle:(nonnull NSNumber *)reactTag + withAngle:(double)angle + withDuration:(CGFloat)duration) +{ + [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { + id view = viewRegistry[reactTag]; + if (![view isKindOfClass:[AIRGoogleMap class]]) { + RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view); + } else { + [CATransaction begin]; + [CATransaction setAnimationDuration:duration/1000]; + AIRGoogleMap *mapView = (AIRGoogleMap *)view; + [mapView animateToViewingAngle:angle]; + [CATransaction commit]; + } + }]; +} + +RCT_EXPORT_METHOD(animateToBearing:(nonnull NSNumber *)reactTag + withBearing:(CGFloat)bearing + withDuration:(CGFloat)duration) +{ + [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { + id view = viewRegistry[reactTag]; + if (![view isKindOfClass:[AIRGoogleMap class]]) { + RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view); + } else { + [CATransaction begin]; + [CATransaction setAnimationDuration:duration/1000]; + AIRGoogleMap *mapView = (AIRGoogleMap *)view; + [mapView animateToBearing:bearing]; + [CATransaction commit]; + } + }]; +} + RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag animated:(BOOL)animated) { From af3ff1efba5c28e2f808572d1aa84a5dbdc15021 Mon Sep 17 00:00:00 2001 From: sandinosaso Date: Sat, 26 Aug 2017 20:18:32 -0300 Subject: [PATCH 04/20] Add support for AirMap (Native IOS Maps) as suggested on the PR comments. --- lib/ios/AirMaps/AIRMapManager.m | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/lib/ios/AirMaps/AIRMapManager.m b/lib/ios/AirMaps/AIRMapManager.m index 76aef88fe..a1970bbbe 100644 --- a/lib/ios/AirMaps/AIRMapManager.m +++ b/lib/ios/AirMaps/AIRMapManager.m @@ -152,6 +152,48 @@ - (UIView *)view }]; } +RCT_EXPORT_METHOD(animateToViewingAngle:(nonnull NSNumber *)reactTag + withAngle:(double)angle + withDuration:(CGFloat)duration) +{ + [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { + id view = viewRegistry[reactTag]; + if (![view isKindOfClass:[AIRMap class]]) { + RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view); + } else { + AIRMap *mapView = (AIRMap *)view; + + MKMapCamera *mapCamera = [[mapView camera] copy]; + [mapCamera setPitch:angle]; + + [AIRMap animateWithDuration:duration/1000 animations:^{ + [mapView setCamera:mapCamera animated:YES]; + }]; + } + }]; +} + +RCT_EXPORT_METHOD(animateToBearing:(nonnull NSNumber *)reactTag + withBearing:(CGFloat)bearing + withDuration:(CGFloat)duration) +{ + [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { + id view = viewRegistry[reactTag]; + if (![view isKindOfClass:[AIRMap class]]) { + RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view); + } else { + AIRMap *mapView = (AIRMap *)view; + + MKMapCamera *mapCamera = [[mapView camera] copy]; + [mapCamera setHeading:bearing]; + + [AIRMap animateWithDuration:duration/1000 animations:^{ + [mapView setCamera:mapCamera animated:YES]; + }]; + } + }]; +} + RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag animated:(BOOL)animated) { From 725af03f92aea866a1632ddc737a265e43173321 Mon Sep 17 00:00:00 2001 From: Myck Date: Mon, 28 Aug 2017 18:30:19 +0200 Subject: [PATCH 05/20] fixe mistakes on circle.md (#1584) lineJoin : wrong type lineCap : add other values --- docs/circle.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/circle.md b/docs/circle.md index 70a5e078e..992ac4567 100644 --- a/docs/circle.md +++ b/docs/circle.md @@ -10,8 +10,8 @@ | `strokeColor` | `String` | `#000`, `rgba(r,g,b,0.5)` | The stroke color to use for the path. | `fillColor` | `String` | `#000`, `rgba(r,g,b,0.5)` | The fill color to use for the path. | `zIndex` | `Number` | 0 | The order in which this tile overlay is drawn with respect to other overlays. An overlay with a larger z-index is drawn over overlays with smaller z-indices. The order of overlays with the same z-index is arbitrary. The default zIndex is 0. (Android Only) -| `lineCap` | `String` | `round` | The line cap style to apply to the open ends of the path. -| `lineJoin` | `Array` | | The line join style to apply to corners of the path. +| `lineCap` | `String` | `round` | The line cap style to apply to the open ends of the path. Other values : `butt`, `square` +| `lineJoin` | `String` | | The line join style to apply to corners of the path. possible value: `miter`, `round`, `bevel` | `miterLimit` | `Number` | | The limiting value that helps avoid spikes at junctions between connected line segments. The miter limit helps you avoid spikes in paths that use the `miter` `lineJoin` style. If the ratio of the miter length—that is, the diagonal length of the miter join—to the line thickness exceeds the miter limit, the joint is converted to a bevel join. The default miter limit is 10, which results in the conversion of miters whose angle at the joint is less than 11 degrees. | `geodesic` | `Boolean` | | Boolean to indicate whether to draw each segment of the line as a geodesic as opposed to straight lines on the Mercator projection. A geodesic is the shortest path between two points on the Earth's surface. The geodesic curve is constructed assuming the Earth is a sphere. | `lineDashPhase` | `Number` | `0` | (iOS only) The offset (in points) at which to start drawing the dash pattern. Use this property to start drawing a dashed line partway through a segment or gap. For example, a phase value of 6 for the patter 5-2-3-2 would cause drawing to begin in the middle of the first gap. From a71356819cf63f55f752571779830f6525e2981b Mon Sep 17 00:00:00 2001 From: paulmasters Date: Mon, 28 Aug 2017 17:39:14 +0100 Subject: [PATCH 06/20] Fall back to View.propTypes if ViewPropTypes is not available (#1473) (#1474) --- lib/components/MapView.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/components/MapView.js b/lib/components/MapView.js index a0f3fa02c..e984b9bb1 100644 --- a/lib/components/MapView.js +++ b/lib/components/MapView.js @@ -8,6 +8,7 @@ import { NativeModules, ColorPropType, findNodeHandle, + View, ViewPropTypes, } from 'react-native'; import MapMarker from './MapMarker'; @@ -45,8 +46,11 @@ const viewConfig = { }, }; +// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44) +const viewPropTypes = ViewPropTypes || View.propTypes; + const propTypes = { - ...ViewPropTypes, + ...viewPropTypes, /** * When provider is "google", we will use GoogleMaps. * Any value other than "google" will default to using @@ -60,7 +64,7 @@ const propTypes = { * Used to style and layout the `MapView`. See `StyleSheet.js` and * `ViewStylePropTypes.js` for more info. */ - style: ViewPropTypes.style, + style: viewPropTypes.style, /** * A json object that describes the style of the map. This is transformed to a string From a0c8af09090a8d834bafd0ee4e5078ac55b66454 Mon Sep 17 00:00:00 2001 From: Jessy Musoko Date: Fri, 4 Aug 2017 23:13:36 +0200 Subject: [PATCH 07/20] Added [iOS / Google Maps] support for showsIndoorLevelPicker. --- lib/ios/AirGoogleMaps/AIRGoogleMap.h | 1 + lib/ios/AirGoogleMaps/AIRGoogleMap.m | 8 ++++++++ lib/ios/AirGoogleMaps/AIRGoogleMapManager.m | 1 + 3 files changed, 10 insertions(+) diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMap.h b/lib/ios/AirGoogleMaps/AIRGoogleMap.h index 0d47b72b1..d2a8e3e6f 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMap.h +++ b/lib/ios/AirGoogleMaps/AIRGoogleMap.h @@ -40,6 +40,7 @@ @property (nonatomic, assign) BOOL pitchEnabled; @property (nonatomic, assign) BOOL showsUserLocation; @property (nonatomic, assign) BOOL showsMyLocationButton; +@property (nonatomic, assign) BOOL showsIndoorLevelPicker; - (void)didFinishTileRendering; - (BOOL)didTapMarker:(GMSMarker *)marker; diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMap.m b/lib/ios/AirGoogleMaps/AIRGoogleMap.m index 48b5ff446..f10238531 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMap.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMap.m @@ -312,6 +312,14 @@ - (void)setMaxZoomLevel:(CGFloat)maxZoomLevel { [self setMinZoom:self.minZoom maxZoom:maxZoomLevel ]; } +- (void)setShowsIndoorLevelPicker:(BOOL)showsIndoorLevelPicker { + self.settings.indoorPicker = showsIndoorLevelPicker; +} + +- (BOOL)showsIndoorLevelPicker { + return self.settings.indoorPicker; +} + + (MKCoordinateRegion) makeGMSCameraPositionFromMap:(GMSMapView *)map andGMSCameraPosition:(GMSCameraPosition *)position { // solution from here: http://stackoverflow.com/a/16587735/1102215 GMSVisibleRegion visibleRegion = map.projection.visibleRegion; diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m b/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m index 086822b73..54ff10b10 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapManager.m @@ -58,6 +58,7 @@ - (UIView *)view RCT_EXPORT_VIEW_PROPERTY(pitchEnabled, BOOL) RCT_EXPORT_VIEW_PROPERTY(showsUserLocation, BOOL) RCT_EXPORT_VIEW_PROPERTY(showsMyLocationButton, BOOL) +RCT_EXPORT_VIEW_PROPERTY(showsIndoorLevelPicker, BOOL) RCT_EXPORT_VIEW_PROPERTY(customMapStyleString, NSString) RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTBubblingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock) From c56d699f3c69841a3520cd2bad4af805279e448a Mon Sep 17 00:00:00 2001 From: Jessy Date: Mon, 28 Aug 2017 20:05:02 +0200 Subject: [PATCH 08/20] Updated "showsIndoorLevelPicker" documentation. --- docs/mapview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mapview.md b/docs/mapview.md index a73e123b8..f11094725 100644 --- a/docs/mapview.md +++ b/docs/mapview.md @@ -20,7 +20,7 @@ | `showsBuildings` | `Boolean` | `true` | A Boolean indicating whether the map displays extruded building information. | `showsTraffic` | `Boolean` | `true` | A Boolean value indicating whether the map displays traffic information. | `showsIndoors` | `Boolean` | `true` | A Boolean indicating whether indoor maps should be enabled. -| `showsIndoorLevelPicker` | `Boolean` | `false` | A Boolean indicating whether indoor level picker should be enabled. **Note:** Android only. +| `showsIndoorLevelPicker` | `Boolean` | `false` | A Boolean indicating whether indoor level picker should be enabled. **Note:** Google Maps only (either Android or iOS with `PROVIDER_GOOGLE`). | `zoomEnabled` | `Boolean` | `true` | If `false` the user won't be able to pinch/zoom the map. | `minZoomLevel` | `Number` | `0` | Minimum zoom value for the map, must be between 0 and 20 | `maxZoomLevel` | `Number` | `20` | Maximum zoom value for the map, must be between 0 and 20 From c184189adfd3c9fcdbef49449e3e5aa4926ac473 Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Mon, 28 Aug 2017 23:21:21 -0400 Subject: [PATCH 09/20] Added Typescript Definitions --- index.d.ts | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 000000000..d885759b2 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,159 @@ +import * as React from 'react'; + +declare module "react-native-maps" { + + export type ProviderType = 'google'; + export type MapType = 'standard' | 'satellite' | 'hybrid' | 'terrain' | 'none'; + export type LineCapType = 'butt' | 'round' | 'square'; + export type LineJoinType = 'miter' | 'round' | 'bevel'; + + export interface MapViewProperties { + provider?: ProviderType; + style?: any; + customMapStyle?: any[]; + customMapStyleString?: string; + showsUserLocation?: boolean; + userLocationAnnotationTitle?: string; + showsMyLocationButton?: boolean; + followsUserLocation?: boolean; + showsPointsOfInterest?: boolean; + showsCompass?: boolean; + zoomEnabled?: boolean; + rotateEnabled?: boolean; + cacheEnabled?: boolean; + loadingEnabled?: boolean; + loadingBackgroundColor?: any; + loadingIndicatorColor?: any; + scrollEnabled?: boolean; + pitchEnabled?: boolean; + toolbarEnabled?: boolean; + moveOnMarkerPress?: boolean; + showsScale?: boolean; + showsBuildings?: boolean; + showsTraffic?: boolean; + showsIndoors?: boolean; + showsIndoorLevelPicker?: boolean; + mapType?: MapType; + region?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; + initialRegion?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; + liteMode?: boolean; + maxDelta?: number; + minDelta?: number; + legalLabelInsets?: any; + onChange?: Function; + onMapReady?: Function; + onRegionChange?: Function; + onRegionChangeComplete?: Function; + onPress?: Function; + onLayout?: Function; + onLongPress?: Function; + onPanDrag?: Function; + onMarkerPress?: Function; + onMarkerSelect?: Function; + onMarkerDeselect?: Function; + onCalloutPress?: Function; + onMarkerDragStart?: Function; + onMarkerDrag?: Function; + onMarkerDragEnd?: Function; + minZoomLevel?: number; + maxZoomLevel?: number; + } + + export interface MarkerProperties { + identifier?: string; + reuseIdentifier?: string; + title?: string; + description?: string; + image?: any; + opacity?: number; + pinColor?: string; + coordinate: { latitude: number; longitude: number }; + centerOffset?: { x: number; y: number }; + calloutOffset?: { x: number; y: number }; + anchor?: { x: number; y: number }; + calloutAnchor?: { x: number; y: number }; + flat?: boolean; + draggable?: boolean; + onPress?: Function; + onSelect?: Function; + onDeselect?: Function; + onCalloutPress?: Function; + onDragStart?: Function; + onDrag?: Function; + onDragEnd?: Function; + } + + export interface MapPolylineProperties { + coordinates?: { latitude: number; longitude: number; }[]; + onPress?: Function; + tappable?: boolean; + fillColor?: string; + strokeWidth?: number; + strokeColor?: string; + zIndex?: number; + lineCap?: LineCapType; + lineJoin?: LineJoinType; + miterLimit?: number; + geodesic?: boolean; + lineDashPhase?: number; + lineDashPattern?: number[]; + } + + export interface MapPolygonProperties { + coordinates?: { latitude: number; longitude: number; }[]; + holes?: { latitude: number; longitude: number; }[][]; + onPress?: Function; + tappable?: boolean; + strokeWidth?: number; + strokeColor?: string; + fillColor?: string; + zIndex?: number; + lineCap?: LineCapType; + lineJoin?: LineJoinType; + miterLimit?: number; + geodesic?: boolean; + lineDashPhase?: number; + lineDashPattern?: number[]; + } + + export interface MapCircleProperties { + center: { latitude: number; longitude: number }; + radius: number; + onPress?: Function; + strokeWidth?: number; + strokeColor?: string; + fillColor?: string; + zIndex?: number; + lineCap?: LineCapType; + lineJoin?: LineJoinType; + miterLimit?: number; + lineDashPhase?: number; + lineDashPattern?: number[]; + } + + export interface MapUrlTitleProperties { + urlTemplate: string; + zIndex?: number; + } + + export interface MapCalloutProperties { + tooltip?: boolean; + onPress?: Function; + } + + class MapView extends React.Component { + static Animated: any; + static AnimatedRegion: any; + } + + namespace MapView { + class Marker extends React.Component {} + class Polyline extends React.Component {} + class Polygon extends React.Component {} + class Circle extends React.Component {} + class UrlTile extends React.Component {} + class Callout extends React.Component {} + } + + export default MapView; +} From 3611c22ff3802682b604b5d8ba33f37f2213bdb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Hagstr=C3=B6m?= Date: Tue, 29 Aug 2017 18:25:13 +0200 Subject: [PATCH 10/20] Set initial region on view (#1579) --- lib/ios/AirMaps/AIRMapManager.m | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/ios/AirMaps/AIRMapManager.m b/lib/ios/AirMaps/AIRMapManager.m index 76aef88fe..8ddd98c55 100644 --- a/lib/ios/AirMaps/AIRMapManager.m +++ b/lib/ios/AirMaps/AIRMapManager.m @@ -97,7 +97,17 @@ - (UIView *)view RCT_EXPORT_VIEW_PROPERTY(onMarkerDrag, RCTDirectEventBlock) RCT_EXPORT_VIEW_PROPERTY(onMarkerDragEnd, RCTDirectEventBlock) RCT_EXPORT_VIEW_PROPERTY(onCalloutPress, RCTDirectEventBlock) -RCT_EXPORT_VIEW_PROPERTY(initialRegion, MKCoordinateRegion) +RCT_CUSTOM_VIEW_PROPERTY(initialRegion, MKCoordinateRegion, AIRMap) +{ + if (json == nil) return; + + // don't emit region change events when we are setting the initialRegion + BOOL originalIgnore = view.ignoreRegionChanges; + view.ignoreRegionChanges = YES; + [view setInitialRegion:[RCTConvert MKCoordinateRegion:json]]; + view.ignoreRegionChanges = originalIgnore; +} + RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, CGFloat) RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, CGFloat) @@ -665,7 +675,7 @@ - (void)mapViewDidFinishRenderingMap:(AIRMap *)mapView fullyRendered:(BOOL)fully { [mapView finishLoading]; [mapView cacheViewIfNeeded]; - + mapView.onMapReady(@{}); } From 605ec9a7a4351fccd1dcd6ce43af35ab2381dd2c Mon Sep 17 00:00:00 2001 From: Tikhon Botchkarev Date: Fri, 1 Sep 2017 18:11:22 -0400 Subject: [PATCH 11/20] Remove legalNotice from android AirMapModule As per https://developers.google.com/android/reference/com/google/android/gms/common/GooglePlayServicesUtil this information does not need to be displayed in app. --- .../main/java/com/airbnb/android/react/maps/AirMapModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java index bd1fb6ed0..dfc71d6d9 100644 --- a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java +++ b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java @@ -47,7 +47,7 @@ public String getName() { @Override public Map getConstants() { final Map constants = new HashMap<>(); - constants.put("legalNotice", GoogleApiAvailability.getInstance().getOpenSourceSoftwareLicenseInfo(getReactApplicationContext())); + constants.put("legalNotice", "This license information is displayed in Settings > Google > Open Source on any device running Google Play services."); return constants; } From ddf858bdf1813ca20a231f3ef0dff5dbe4fbfedc Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Sat, 2 Sep 2017 19:43:17 -0400 Subject: [PATCH 12/20] Added missing satellite option for iOS Google Maps (#1603) --- lib/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m b/lib/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m index bd339f30e..cfceba559 100644 --- a/lib/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +++ b/lib/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m @@ -13,6 +13,7 @@ @implementation RCTConvert (GMSMapViewType) ( @{ @"standard": @(kGMSTypeNormal), + @"satellite": @(kGMSTypeSatellite), @"hybrid": @(kGMSTypeHybrid), @"terrain": @(kGMSTypeTerrain), @"none": @(kGMSTypeNone) From e6a3f7aedc12cbb5584cb7df638e8ee0c8847aef Mon Sep 17 00:00:00 2001 From: Daniel Merrill Date: Sat, 2 Sep 2017 17:17:58 -0700 Subject: [PATCH 13/20] [MapView] revert initialRegion change (#1613) Reverts JS changes made in #1563 which broke initialRegion on iOS, causing the map to display a region centered around 0, 0. --- lib/components/MapView.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/components/MapView.js b/lib/components/MapView.js index e984b9bb1..53db49548 100644 --- a/lib/components/MapView.js +++ b/lib/components/MapView.js @@ -466,13 +466,10 @@ class MapView extends React.Component { const { layout } = e.nativeEvent; if (!layout.width || !layout.height) return; if (this.state.isReady && !this.__layoutCalled) { - const { region, initialRegion } = this.props; + const region = this.props.region || this.props.initialRegion; if (region) { this.__layoutCalled = true; this.map.setNativeProps({ region }); - } else if (initialRegion) { - this.__layoutCalled = true; - this.map.setNativeProps({ initialRegion }); } } if (this.props.onLayout) { From 0916cdff2764a29d0817d3ccc45541ecf411fa1c Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Sat, 2 Sep 2017 17:23:22 -0700 Subject: [PATCH 14/20] Revert "[MapView] revert initialRegion change (#1613)" This reverts commit e6a3f7aedc12cbb5584cb7df638e8ee0c8847aef. --- lib/components/MapView.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/components/MapView.js b/lib/components/MapView.js index 53db49548..e984b9bb1 100644 --- a/lib/components/MapView.js +++ b/lib/components/MapView.js @@ -466,10 +466,13 @@ class MapView extends React.Component { const { layout } = e.nativeEvent; if (!layout.width || !layout.height) return; if (this.state.isReady && !this.__layoutCalled) { - const region = this.props.region || this.props.initialRegion; + const { region, initialRegion } = this.props; if (region) { this.__layoutCalled = true; this.map.setNativeProps({ region }); + } else if (initialRegion) { + this.__layoutCalled = true; + this.map.setNativeProps({ initialRegion }); } } if (this.props.onLayout) { From daf62e6c4a592b2f84c4f7effb4540ac5225d427 Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Sat, 2 Sep 2017 17:27:31 -0700 Subject: [PATCH 15/20] Bump 0.16.3 --- CHANGELOG.md | 4 ++++ lib/android/gradle.properties | 2 +- package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9ae8057e..c00583d5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 0.16.3 (September 2, 2017) +* iOS: [#1603](https://github.com/airbnb/react-native-maps/pull/1603) Added missing satellite option for iOS Google Maps +* iOS: [#1579](https://github.com/airbnb/react-native-maps/pull/1579) Set initial region on view + ## 0.16.2 (August 17, 2017) * Android: [#1563](https://github.com/airbnb/react-native-maps/pull/#1563) Add missing native method for setting initial region * iOS: [#1187](https://github.com/airbnb/react-native-maps/pull/1187) Reverted due to build issues diff --git a/lib/android/gradle.properties b/lib/android/gradle.properties index 9b4cf86c9..c49d0997b 100644 --- a/lib/android/gradle.properties +++ b/lib/android/gradle.properties @@ -1,5 +1,5 @@ VERSION_CODE=4 -VERSION_NAME=0.16.2 +VERSION_NAME=0.16.3 GROUP=com.airbnb.android POM_DESCRIPTION=React Native Map view component for Android diff --git a/package.json b/package.json index 6914f242b..e8db38a4a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "React Native Mapview component for iOS + Android", "main": "index.js", "author": "Leland Richardson ", - "version": "0.16.2", + "version": "0.16.3", "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "run:packager": "./node_modules/react-native/packager/packager.sh", From ecfc89b6151c03f90a379c4a580c0a3de851f802 Mon Sep 17 00:00:00 2001 From: sandinosaso Date: Sun, 27 Aug 2017 13:00:00 -0300 Subject: [PATCH 16/20] Add support for animateToViewingAngle and animateToBearing for Android --- .../android/react/maps/AirMapManager.java | 24 ++++++++++++++++--- .../airbnb/android/react/maps/AirMapView.java | 20 ++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java index e8f98a766..58824dd0c 100644 --- a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java +++ b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java @@ -29,9 +29,11 @@ public class AirMapManager extends ViewGroupManager { private static final String REACT_CLASS = "AIRMap"; private static final int ANIMATE_TO_REGION = 1; private static final int ANIMATE_TO_COORDINATE = 2; - private static final int FIT_TO_ELEMENTS = 3; - private static final int FIT_TO_SUPPLIED_MARKERS = 4; - private static final int FIT_TO_COORDINATES = 5; + private static final int ANIMATE_TO_VIEWING_ANGLE = 3; + private static final int ANIMATE_TO_BEARING = 4; + private static final int FIT_TO_ELEMENTS = 5; + private static final int FIT_TO_SUPPLIED_MARKERS = 6; + private static final int FIT_TO_COORDINATES = 7; private final Map MAP_TYPES = MapBuilder.of( "standard", GoogleMap.MAP_TYPE_NORMAL, @@ -195,6 +197,8 @@ public void receiveCommand(AirMapView view, int commandId, @Nullable ReadableArr Double lng; Double lngDelta; Double latDelta; + float bearing; + float angle; ReadableMap region; switch (commandId) { @@ -220,6 +224,18 @@ public void receiveCommand(AirMapView view, int commandId, @Nullable ReadableArr view.animateToCoordinate(new LatLng(lat, lng), duration); break; + case ANIMATE_TO_VIEWING_ANGLE: + angle = (float)args.getDouble(0); + duration = args.getInt(1); + view.animateToViewingAngle(angle, duration); + break; + + case ANIMATE_TO_BEARING: + bearing = (float)args.getDouble(0); + duration = args.getInt(1); + view.animateToBearing(bearing, duration); + break; + case FIT_TO_ELEMENTS: view.fitToElements(args.getBoolean(0)); break; @@ -262,6 +278,8 @@ public Map getCommandsMap() { return MapBuilder.of( "animateToRegion", ANIMATE_TO_REGION, "animateToCoordinate", ANIMATE_TO_COORDINATE, + "animateToViewingAngle", ANIMATE_TO_VIEWING_ANGLE, + "animateToBearing", ANIMATE_TO_BEARING, "fitToElements", FIT_TO_ELEMENTS, "fitToSuppliedMarkers", FIT_TO_SUPPLIED_MARKERS, "fitToCoordinates", FIT_TO_COORDINATES diff --git a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java index c8b016ce1..9d3f572a9 100644 --- a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +++ b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java @@ -562,6 +562,26 @@ public void animateToRegion(LatLngBounds bounds, int duration) { } } + public void animateToViewingAngle(float angle, int duration) { + if (map != null) { + startMonitoringRegion(); + CameraPosition cameraPosition = new CameraPosition.Builder(map.getCameraPosition()) + .tilt(angle) + .build(); + map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition), duration, null); + } + } + + public void animateToBearing(float bearing, int duration) { + if (map != null) { + startMonitoringRegion(); + CameraPosition cameraPosition = new CameraPosition.Builder(map.getCameraPosition()) + .bearing(bearing) + .build(); + map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition), duration, null); + } + } + public void animateToCoordinate(LatLng coordinate, int duration) { if (map != null) { startMonitoringRegion(); From 6885fda900f1fc152de1bac5908e25bd98b59c32 Mon Sep 17 00:00:00 2001 From: Carlo Date: Wed, 13 Sep 2017 18:24:55 -0700 Subject: [PATCH 17/20] [MapMarker] fix android release crash on custom marker (#1643) --- .../main/java/com/airbnb/android/react/maps/AirMapMarker.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java index 52c4dcd08..cb0274bfa 100644 --- a/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java +++ b/lib/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java @@ -2,6 +2,7 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.drawable.Animatable; import android.net.Uri; @@ -236,6 +237,9 @@ public void setImage(String uri) { logoHolder.setController(controller); } else { iconBitmapDescriptor = getBitmapDescriptorByName(uri); + if (iconBitmapDescriptor != null) { + iconBitmap = BitmapFactory.decodeResource(getResources(), getDrawableResourceByName(uri)); + } update(); } } From 6ad2eca39d7e4033be246d3f61f9cd5d17281944 Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Wed, 13 Sep 2017 18:27:10 -0700 Subject: [PATCH 18/20] v0.16.4 --- CHANGELOG.md | 3 +++ lib/android/gradle.properties | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c00583d5e..5952fe825 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change Log +## 0.16.4 (September 13, 2017) +* Android: [#1643](https://github.com/airbnb/react-native-maps/pull/1643) [MapMarker] fix android release crash on custom marker + ## 0.16.3 (September 2, 2017) * iOS: [#1603](https://github.com/airbnb/react-native-maps/pull/1603) Added missing satellite option for iOS Google Maps * iOS: [#1579](https://github.com/airbnb/react-native-maps/pull/1579) Set initial region on view diff --git a/lib/android/gradle.properties b/lib/android/gradle.properties index c49d0997b..a6b4e78ee 100644 --- a/lib/android/gradle.properties +++ b/lib/android/gradle.properties @@ -1,5 +1,5 @@ VERSION_CODE=4 -VERSION_NAME=0.16.3 +VERSION_NAME=0.16.4 GROUP=com.airbnb.android POM_DESCRIPTION=React Native Map view component for Android diff --git a/package.json b/package.json index e8db38a4a..11f1004fb 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "React Native Mapview component for iOS + Android", "main": "index.js", "author": "Leland Richardson ", - "version": "0.16.3", + "version": "0.16.4", "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "run:packager": "./node_modules/react-native/packager/packager.sh", From 86e79df9f65a448cfe195c0a2ebfdab652b96c2e Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Sun, 8 Oct 2017 22:25:27 -0400 Subject: [PATCH 19/20] Update index.d.ts --- index.d.ts | 151 ++++++++++++++++++++++++++--------------------------- 1 file changed, 74 insertions(+), 77 deletions(-) diff --git a/index.d.ts b/index.d.ts index d885759b2..9a770c3fc 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,65 +1,68 @@ import * as React from 'react'; -declare module "react-native-maps" { +interface MapViewProps { + provider?: 'google'; + style: any; + customMapStyle?: any[]; + customMapStyleString?: string; + showsUserLocation?: boolean; + userLocationAnnotationTitle?: string; + showsMyLocationButton?: boolean; + followsUserLocation?: boolean; + showsPointsOfInterest?: boolean; + showsCompass?: boolean; + zoomEnabled?: boolean; + rotateEnabled?: boolean; + cacheEnabled?: boolean; + loadingEnabled?: boolean; + loadingBackgroundColor?: any; + loadingIndicatorColor?: any; + scrollEnabled?: boolean; + pitchEnabled?: boolean; + toolbarEnabled?: boolean; + moveOnMarkerPress?: boolean; + showsScale?: boolean; + showsBuildings?: boolean; + showsTraffic?: boolean; + showsIndoors?: boolean; + showsIndoorLevelPicker?: boolean; + mapType?: 'standard' | 'satellite' | 'hybrid' | 'terrain' | 'none'; + region?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; + initialRegion?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; + liteMode?: boolean; + maxDelta?: number; + minDelta?: number; + legalLabelInsets?: any; + onChange?: Function; + onMapReady?: Function; + onRegionChange?: Function; + onRegionChangeComplete?: Function; + onPress?: Function; + onLayout?: Function; + onLongPress?: Function; + onPanDrag?: Function; + onMarkerPress?: Function; + onMarkerSelect?: Function; + onMarkerDeselect?: Function; + onCalloutPress?: Function; + onMarkerDragStart?: Function; + onMarkerDrag?: Function; + onMarkerDragEnd?: Function; + minZoomLevel?: number; + maxZoomLevel?: number; +} - export type ProviderType = 'google'; - export type MapType = 'standard' | 'satellite' | 'hybrid' | 'terrain' | 'none'; - export type LineCapType = 'butt' | 'round' | 'square'; - export type LineJoinType = 'miter' | 'round' | 'bevel'; +declare class MapView extends React.Component { + static Animated: any; + static AnimatedRegion: any; +} - export interface MapViewProperties { - provider?: ProviderType; - style?: any; - customMapStyle?: any[]; - customMapStyleString?: string; - showsUserLocation?: boolean; - userLocationAnnotationTitle?: string; - showsMyLocationButton?: boolean; - followsUserLocation?: boolean; - showsPointsOfInterest?: boolean; - showsCompass?: boolean; - zoomEnabled?: boolean; - rotateEnabled?: boolean; - cacheEnabled?: boolean; - loadingEnabled?: boolean; - loadingBackgroundColor?: any; - loadingIndicatorColor?: any; - scrollEnabled?: boolean; - pitchEnabled?: boolean; - toolbarEnabled?: boolean; - moveOnMarkerPress?: boolean; - showsScale?: boolean; - showsBuildings?: boolean; - showsTraffic?: boolean; - showsIndoors?: boolean; - showsIndoorLevelPicker?: boolean; - mapType?: MapType; - region?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; - initialRegion?: { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; }; - liteMode?: boolean; - maxDelta?: number; - minDelta?: number; - legalLabelInsets?: any; - onChange?: Function; - onMapReady?: Function; - onRegionChange?: Function; - onRegionChangeComplete?: Function; - onPress?: Function; - onLayout?: Function; - onLongPress?: Function; - onPanDrag?: Function; - onMarkerPress?: Function; - onMarkerSelect?: Function; - onMarkerDeselect?: Function; - onCalloutPress?: Function; - onMarkerDragStart?: Function; - onMarkerDrag?: Function; - onMarkerDragEnd?: Function; - minZoomLevel?: number; - maxZoomLevel?: number; - } +declare namespace MapView { + + type LineCapType = 'butt' | 'round' | 'square'; + type LineJoinType = 'miter' | 'round' | 'bevel'; - export interface MarkerProperties { + interface MarkerProps { identifier?: string; reuseIdentifier?: string; title?: string; @@ -81,9 +84,10 @@ declare module "react-native-maps" { onDragStart?: Function; onDrag?: Function; onDragEnd?: Function; + zIndex?: number; } - export interface MapPolylineProperties { + interface MapPolylineProps { coordinates?: { latitude: number; longitude: number; }[]; onPress?: Function; tappable?: boolean; @@ -99,7 +103,7 @@ declare module "react-native-maps" { lineDashPattern?: number[]; } - export interface MapPolygonProperties { + interface MapPolygonProps { coordinates?: { latitude: number; longitude: number; }[]; holes?: { latitude: number; longitude: number; }[][]; onPress?: Function; @@ -116,7 +120,7 @@ declare module "react-native-maps" { lineDashPattern?: number[]; } - export interface MapCircleProperties { + interface MapCircleProps { center: { latitude: number; longitude: number }; radius: number; onPress?: Function; @@ -131,29 +135,22 @@ declare module "react-native-maps" { lineDashPattern?: number[]; } - export interface MapUrlTitleProperties { + interface MapUrlTitleProps { urlTemplate: string; zIndex?: number; } - export interface MapCalloutProperties { + interface MapCalloutProps { tooltip?: boolean; onPress?: Function; } - class MapView extends React.Component { - static Animated: any; - static AnimatedRegion: any; - } - - namespace MapView { - class Marker extends React.Component {} - class Polyline extends React.Component {} - class Polygon extends React.Component {} - class Circle extends React.Component {} - class UrlTile extends React.Component {} - class Callout extends React.Component {} - } - - export default MapView; + export class Marker extends React.Component {} + export class Polyline extends React.Component {} + export class Polygon extends React.Component {} + export class Circle extends React.Component {} + export class UrlTile extends React.Component {} + export class Callout extends React.Component {} } + +export = MapView; From 9fd1055c2b1321ed1b830cd5de6434a5a06f773a Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Wed, 11 Oct 2017 11:42:27 -0700 Subject: [PATCH 20/20] v0.17.0 --- CHANGELOG.md | 8 ++++++++ lib/android/gradle.properties | 2 +- package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5952fe825..5678d8052 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 0.17.0 (October 11, 2017) +* iOS: [#1527](https://github.com/airbnb/react-native-maps/pull/1527) Added [iOS / Google Maps] support for showsIndoorLevelPicker +* iOS/Android: [#1544](https://github.com/airbnb/react-native-maps/pull/1544) Adds support to animateToBearing and animateToViewingAngle ( IOS + Android ) +* JS: [#1503](https://github.com/airbnb/react-native-maps/pull/1503) Remove caret from "react": "^16.0.0-alpha.12 +* Android: [#1521](https://github.com/airbnb/react-native-maps/pull/1521) Fix rare android crashes when map size is 0 +* Common: [#1610](https://github.com/airbnb/react-native-maps/pull/1610) Added Typescript Definitions +* Android: [#1612](https://github.com/airbnb/react-native-maps/pull/1612) Remove legalNotice from android AirMapModule + ## 0.16.4 (September 13, 2017) * Android: [#1643](https://github.com/airbnb/react-native-maps/pull/1643) [MapMarker] fix android release crash on custom marker diff --git a/lib/android/gradle.properties b/lib/android/gradle.properties index a6b4e78ee..7047e93ba 100644 --- a/lib/android/gradle.properties +++ b/lib/android/gradle.properties @@ -1,5 +1,5 @@ VERSION_CODE=4 -VERSION_NAME=0.16.4 +VERSION_NAME=0.17.0 GROUP=com.airbnb.android POM_DESCRIPTION=React Native Map view component for Android diff --git a/package.json b/package.json index a50930ab8..66e8be298 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "React Native Mapview component for iOS + Android", "main": "index.js", "author": "Leland Richardson ", - "version": "0.16.4", + "version": "0.17.0", "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "run:packager": "./node_modules/react-native/packager/packager.sh",