diff --git a/.npmignore b/.npmignore index 33a9488b16..4ce7bc58bc 100644 --- a/.npmignore +++ b/.npmignore @@ -1 +1,2 @@ example +.babelrc diff --git a/CHANGELOG.md b/CHANGELOG.md index a6e3ab5c32..5968b7e7b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,65 @@ # Change Log +## 0.15.2 (May 20, 2017) + +* iOS: [#1351](https://github.com/airbnb/react-native-maps/pull/1351) Fix file references + +## 0.15.1 (May 19, 2017) + +* iOS: [#1341](https://github.com/airbnb/react-native-maps/pull/1341) Fix compile error in rn version >= 0.40 +* iOS: [#1194](https://github.com/airbnb/react-native-maps/pull/1194) Add onPress support for Google Maps Polyline +* iOS: [#1326](https://github.com/airbnb/react-native-maps/pull/1326) Add Marker rotation for Google Maps on iOS +* Android: [#1311](https://github.com/airbnb/react-native-maps/pull/1311) Fix overlay issue +* Common [#1313](https://github.com/airbnb/react-native-maps/pull/1313) Fix Android sourceDir for react-native-link + +## 0.15.0 (May 8, 2017) + +* iOS: [#1195](https://github.com/airbnb/react-native-maps/pull/1195) Rename project file to fix iOS build error +* Android: Update Google Play Services to version `10.2.4` + +## 0.14.0 (April 4, 2017) + +## Enhancements + +* Restructure project #1164 + +* Add showsIndoorLevelPicker -> setIndoorLevelPickerEnabled to MapView #1019 +[#1188](https://github.com/airbnb/react-native-maps/pull/1188) + +* iOS - Added onPress support for Polygons on Google Maps +[#1024](https://github.com/airbnb/react-native-maps/pull/1024) + +* Add customized user location annotation text +[#1049](https://github.com/airbnb/react-native-maps/pull/1049) + +* iOS - Google Maps - Add `showsMyLocationButton` support +[#1157](https://github.com/airbnb/react-native-maps/pull/1157) + + +## Patches + +* Fix getResources() null crash in mapview +[#1188](https://github.com/airbnb/react-native-maps/pull/1188) + +* Rename MapKit category to avoid conflicts with the one in RN +[#1172](https://github.com/airbnb/react-native-maps/pull/1172) + +* Upgrade GMS dependencies to 10.2.0 +[#1169](https://github.com/airbnb/react-native-maps/pull/1169) + +* fix multiple-instance memory leak +[#1130](https://github.com/airbnb/react-native-maps/pull/1130) + +* fix onSelected event for markers with custom view +[#1079](https://github.com/airbnb/react-native-maps/pull/1079) + +* Crash in our App fix +[#1096](https://github.com/airbnb/react-native-maps/pull/1096) + +* Use local RCTConvert+MapKit instead of the one in React Native +[#1138](https://github.com/airbnb/react-native-maps/pull/1138) + + ## 0.13.1 (March 21, 2017) diff --git a/README.md b/README.md index 41139a4a02..49d65ac722 100644 --- a/README.md +++ b/README.md @@ -405,7 +405,7 @@ getInitialState() { takeSnapshot () { // 'takeSnapshot' takes a config object with the // following options - const snapshot = this.refs.map.takeSnapshot({ + const snapshot = this.map.takeSnapshot({ width: 300, // optional, when omitted the view-width is used height: 300, // optional, when omitted the view-height is used region: {..}, // iOS only, optional region to render @@ -421,7 +421,7 @@ takeSnapshot () { render() { return ( - + { this.map = map }}> @@ -494,7 +494,7 @@ Good: License -------- - Copyright (c) 2015 Airbnb + Copyright (c) 2017 Airbnb Licensed under the The MIT License (MIT) (the "License"); you may not use this file except in compliance with the License. diff --git a/build.gradle b/build.gradle index f89d2c5948..8a3e2453e3 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.android.tools.build:gradle:2.3.1' } } diff --git a/docs/installation.md b/docs/installation.md index d3b6c331c1..12842d7c64 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -21,13 +21,13 @@ react-native link react-native-maps ### Option 1: CocoaPods - Same as the included AirMapsExplorer example -1. Setup your `Podfile` like the included [example/ios/Podfile](../example/ios/Podfile), replace all references to `AirMapExplorer` with your project name, and then run `pod install`. +1. Setup your `Podfile` like the included [example/ios/Podfile](../example/ios/Podfile), replace all references to `AirMapsExplorer` with your project name, and then run `pod install`. (If you do not need `GoogleMaps` support for iOS, then you can probably completely skip this step.) 1. Open your project in Xcode workspace 1. If you need `GoogleMaps` support also - - Drag this folder `node_modules/react-native-maps/ios/AirGoogleMaps/` into your project, and choose `Create groups` in the popup window. + - Drag this folder `node_modules/react-native-maps/lib/ios/AirGoogleMaps/` into your project, and choose `Create groups` in the popup window. - In `AppDelegate.m`, add `@import GoogleMaps;` before `@implementation AppDelegate`. In `- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions`, add `[GMSServices provideAPIKey:@"YOUR_GOOGLE_MAP_API_KEY"];` - - In your project's `Build Settings` > `Header Search Paths`, double click the value field. In the popup, add `$(SRCROOT)/../node_modules/react-native-maps/ios/AirMaps` and change `non-recursive` to `recursive`. (Dragging the folder `node_modules/react-native-maps/ios/AirMaps/` into your project introduces duplicate symbols. We should not do it.) + - In your project's `Build Settings` > `Header Search Paths`, double click the value field. In the popup, add `$(SRCROOT)/../node_modules/react-native-maps/lib/ios/AirMaps` and change `non-recursive` to `recursive`. (Dragging the folder `node_modules/react-native-maps/lib/ios/AirMaps/` into your project introduces duplicate symbols. We should not do it.) Note: We recommend using a version of React Native >= .40. Newer versions (>= .40) require `package.json` to be set to `"react-native-maps": "^0.13.0"`, while older versions require `"react-native-maps": "^0.12.4"`. @@ -52,7 +52,7 @@ After your `Podfile` is setup properly, run `pod install`. >This was already done for you if you ran "react-native link" 1. Open your project in Xcode, right click on `Libraries` and click `Add - Files to "Your Project Name"` Look under `node_modules/react-native-maps/ios` and add `AIRMaps.xcodeproj`. + Files to "Your Project Name"` Look under `node_modules/react-native-maps/lib/ios` and add `AIRMaps.xcodeproj`. 1. Add `libAIRMaps.a` to `Build Phases -> Link Binary With Libraries. 1. Click on `AIRMaps.xcodeproj` in `Libraries` and go the `Build Settings` tab. Double click the text to the right of `Header Search @@ -98,7 +98,7 @@ After your `Podfile` is setup properly, run `pod install`. ```groovy ... include ':react-native-maps' - project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/android') + project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android') ``` 1. Specify your Google Maps API Key: @@ -203,7 +203,7 @@ Enter the name of the API key and create it. 1. Clean the cache : ``` watchman watch-del-all - npm cache clean + npm clean cache ``` 1. When starting emulator, make sure you have enabled `Wipe user data`. @@ -213,7 +213,7 @@ Enter the name of the API key and create it. 1. If you encounter `com.android.dex.DexException: Multiple dex files define Landroid/support/v7/appcompat/R$anim`, then clear build folder. ``` cd android - gradlew clean + ./gradlew clean cd .. ``` diff --git a/docs/mapview.md b/docs/mapview.md index 8e73a07738..3df5640c3b 100644 --- a/docs/mapview.md +++ b/docs/mapview.md @@ -9,7 +9,7 @@ | `initialRegion` | `Region` | | The initial region to be displayed by the map. Use this prop instead of `region` only if you don't want to control the viewport of the map besides the initial region.

Changing this prop after the component has mounted will not result in a region change.

This is similar to the `initialValue` prop of a text input. | `liteMode` | `Boolean` | `false` | Enable lite mode. **Note**: Android only. | `mapType` | `String` | `"standard"` | The map type to be displayed.

- standard: standard road map (default)
- satellite: satellite view
- hybrid: satellite view with roads and points of interest overlayed
- terrain: (Android only) topographic view -| `customMapStyle` | `Array` | | Adds custom styling to the map component. See [README](https://github.com/airbnb/react-native-maps#customizing-the-map-style) for more information. +| `customMapStyle` | `Array` | | Adds custom styling to the map component. See [README](https://github.com/airbnb/react-native-maps#customizing-the-map-style) for more information. | `showsUserLocation` | `Boolean` | `false` | If `true` the app will ask for the user's location. **NOTE**: You need to add `NSLocationWhenInUseUsageDescription` key in Info.plist to enable geolocation, otherwise it is going to *fail silently*! | `userLocationAnnotationTitle` | `String` | | The title of the annotation for current user location. This only works if `showsUserLocation` is true. There is a default value `My Location` set by MapView. **Note**: iOS only. | `followsUserLocation` | `Boolean` | `false` | If `true` the map will focus on the user's location. This only works if `showsUserLocation` is true and the user has shared their location. **Note**: iOS only. @@ -36,6 +36,8 @@ ## Events +To access event data, you will need to use `e.nativeEvent`. For example, `onPress={e => console.log(e.nativeEvent)}` will log the entire event object to your console. + | Event Name | Returns | Notes |---|---|---| | `onRegionChange` | `Region` | Callback that is called continuously when the region changes, such as when a user is dragging the map. @@ -59,9 +61,9 @@ |---|---|---| | `animateToRegion` | `region: Region`, `duration: Number` | | `animateToCoordinate` | `coordinate: LatLng`, `duration: Number` | -| `fitToElements` | `animated: Boolean` | +| `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. +| `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/docs/marker.md b/docs/marker.md index 4246befc36..4214e4d6e8 100644 --- a/docs/marker.md +++ b/docs/marker.md @@ -15,11 +15,13 @@ | `calloutAnchor` | `Point` | | Specifies the point in the marker image at which to anchor the callout when it is displayed. This is specified in the same coordinate system as the anchor. See the `anchor` prop for more details.

The default is the top middle of the image.

For ios, see the `calloutOffset` prop. | `flat` | `Boolean` | | Sets whether this marker should be flat against the map true or a billboard facing the camera false. | `identifier` | `String` | | An identifier used to reference this marker at a later date. -| `rotation` | `Float` | | A float number indicating marker's rotation angle. +| `rotation` | `Float` | | A float number indicating marker's rotation angle, in degrees. | `draggable` | `` | | This is a non-value based prop. Adding this allows the marker to be draggable (re-positioned). ## Events +To access event data, you will need to use `e.nativeEvent`. For example, `onPress={e => console.log(e.nativeEvent)}` will log the entire event object to your console. + | Event Name | Returns | Notes |---|---|---| | `onPress` | `{ coordinate: LatLng, position: Point }` | Callback that is called when the user presses on the marker diff --git a/example/examples/EventListener.js b/example/examples/EventListener.js index 005894a0d5..c8d3e937f0 100644 --- a/example/examples/EventListener.js +++ b/example/examples/EventListener.js @@ -145,6 +145,7 @@ class EventListener extends React.Component { -#import "UIView+React.h" +#import @class AIRGoogleMapPolygon; diff --git a/lib/ios/AirGoogleMaps/AIRGMSPolyline.h b/lib/ios/AirGoogleMaps/AIRGMSPolyline.h new file mode 100644 index 0000000000..64a3afb99b --- /dev/null +++ b/lib/ios/AirGoogleMaps/AIRGMSPolyline.h @@ -0,0 +1,16 @@ +// +// AIRGMSPolyline.h +// AirMaps +// +// Created by Guilherme Pontes 04/05/2017. +// + +#import +#import "UIView+React.h" + +@class AIRGoogleMapPolyline; + +@interface AIRGMSPolyline : GMSPolyline +@property (nonatomic, strong) NSString *identifier; +@property (nonatomic, copy) RCTBubblingEventBlock onPress; +@end diff --git a/lib/ios/AirGoogleMaps/AIRGMSPolyline.m b/lib/ios/AirGoogleMaps/AIRGMSPolyline.m new file mode 100644 index 0000000000..86e7ac0555 --- /dev/null +++ b/lib/ios/AirGoogleMaps/AIRGMSPolyline.m @@ -0,0 +1,11 @@ +// +// AIRGMSPolyline.m +// AirMaps +// +// Created by Guilherme Pontes 04/05/2017. +// + +#import "AIRGMSPolyline.h" + +@implementation AIRGMSPolyline +@end diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMap.h b/lib/ios/AirGoogleMaps/AIRGoogleMap.h index 9e6ae8b799..0e9554eb69 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMap.h +++ b/lib/ios/AirGoogleMaps/AIRGoogleMap.h @@ -41,6 +41,7 @@ @property (nonatomic, assign) BOOL showsMyLocationButton; - (BOOL)didTapMarker:(GMSMarker *)marker; +- (void)didTapPolyline:(GMSPolyline *)polyline; - (void)didTapPolygon:(GMSPolygon *)polygon; - (void)didTapAtCoordinate:(CLLocationCoordinate2D)coordinate; - (void)didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate; diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMap.m b/lib/ios/AirGoogleMaps/AIRGoogleMap.m index ca15da04e5..ef73067b61 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMap.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMap.m @@ -170,6 +170,16 @@ - (BOOL)didTapMarker:(GMSMarker *)marker { return NO; } +- (void)didTapPolyline:(GMSOverlay *)polyline { + AIRGMSPolyline *airPolyline = (AIRGMSPolyline *)polyline; + + id event = @{@"action": @"polyline-press", + @"id": airPolyline.identifier ?: @"unknown", + }; + + if (airPolyline.onPress) airPolyline.onPress(event); +} + - (void)didTapPolygon:(GMSOverlay *)polygon { AIRGMSPolygon *airPolygon = (AIRGMSPolygon *)polygon; diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.h b/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.h index 36190e7cb6..298884f7d2 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.h +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.h @@ -17,6 +17,7 @@ @property (nonatomic, strong) AIRGoogleMapCallout *calloutView; @property (nonatomic, strong) NSString *identifier; @property (nonatomic, assign) CLLocationCoordinate2D coordinate; +@property (nonatomic, assign) CLLocationDegrees rotation; @property (nonatomic, strong) AIRGMSMarker* realMarker; @property (nonatomic, copy) RCTBubblingEventBlock onPress; @property (nonatomic, copy) RCTDirectEventBlock onDragStart; diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.m b/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.m index 2c6080e9ef..c41be55bbb 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapMarker.m @@ -157,6 +157,14 @@ - (CLLocationCoordinate2D)coordinate { return _realMarker.position; } +- (void)setRotation:(CLLocationDegrees)rotation { + _realMarker.rotation = rotation; +} + +- (CLLocationDegrees)rotation { + return _realMarker.rotation; +} + - (void)setIdentifier:(NSString *)identifier { _realMarker.identifier = identifier; } diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m b/lib/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m index 8be4ba53e9..b5572bf9d2 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m @@ -28,6 +28,7 @@ - (UIView *)view RCT_EXPORT_VIEW_PROPERTY(identifier, NSString) RCT_EXPORT_VIEW_PROPERTY(coordinate, CLLocationCoordinate2D) +RCT_EXPORT_VIEW_PROPERTY(rotation, CLLocationDegrees) RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock) RCT_REMAP_VIEW_PROPERTY(image, imageSrc, NSString) RCT_EXPORT_VIEW_PROPERTY(title, NSString) diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.h b/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.h index b127567a52..adebc40d6c 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.h @@ -5,18 +5,25 @@ // #import #import +#import +#import "AIRGMSPolyline.h" #import "AIRMapCoordinate.h" #import "AIRGoogleMapMarker.h" @interface AIRGoogleMapPolyline : UIView -@property (nonatomic, strong) GMSPolyline* polyline; +@property (nonatomic, weak) RCTBridge *bridge; +@property (nonatomic, strong) NSString *identifier; +@property (nonatomic, strong) AIRGMSPolyline *polyline; @property (nonatomic, strong) NSArray *coordinates; +@property (nonatomic, copy) RCTBubblingEventBlock onPress; + @property (nonatomic, strong) UIColor *strokeColor; @property (nonatomic, assign) double strokeWidth; @property (nonatomic, assign) UIColor *fillColor; @property (nonatomic, assign) BOOL geodesic; @property (nonatomic, assign) NSString *title; @property (nonatomic, assign) int zIndex; +@property (nonatomic, assign) BOOL tappable; @end diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.m b/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.m index 009d90bfba..881f17be68 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapPolyline.m @@ -5,6 +5,7 @@ // #import #import "AIRGoogleMapPolyline.h" +#import "AIRGMSPolyline.h" #import "AIRMapCoordinate.h" #import "AIRGoogleMapMarker.h" #import "AIRGoogleMapMarkerManager.h" @@ -16,7 +17,7 @@ @implementation AIRGoogleMapPolyline - (instancetype)init { if (self = [super init]) { - _polyline = [[GMSPolyline alloc] init]; + _polyline = [[AIRGMSPolyline alloc] init]; } return self; } @@ -24,13 +25,13 @@ - (instancetype)init -(void)setCoordinates:(NSArray *)coordinates { _coordinates = coordinates; - + GMSMutablePath *path = [GMSMutablePath path]; for(int i = 0; i < coordinates.count; i++) { [path addCoordinate:coordinates[i].coordinate]; } - + _polyline.path = path; } @@ -70,4 +71,14 @@ -(void) setZIndex:(int)zIndex _polyline.zIndex = zIndex; } +-(void)setTappable:(BOOL)tappable +{ + _tappable = tappable; + _polyline.tappable = tappable; +} + +- (void)setOnPress:(RCTBubblingEventBlock)onPress { + _polyline.onPress = onPress; +} + @end diff --git a/lib/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m b/lib/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m index acad1631bd..a7515c207d 100644 --- a/lib/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m +++ b/lib/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m @@ -26,6 +26,7 @@ @implementation AIRGoogleMapPolylineManager - (UIView *)view { AIRGoogleMapPolyline *polyline = [AIRGoogleMapPolyline new]; + polyline.bridge = self.bridge; return polyline; } @@ -35,5 +36,7 @@ - (UIView *)view RCT_EXPORT_VIEW_PROPERTY(strokeWidth, double) RCT_EXPORT_VIEW_PROPERTY(geodesic, BOOL) RCT_EXPORT_VIEW_PROPERTY(zIndex, int) +RCT_EXPORT_VIEW_PROPERTY(tappable, BOOL) +RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock) @end diff --git a/lib/ios/AirMaps.xcodeproj/project.pbxproj b/lib/ios/AirMaps.xcodeproj/project.pbxproj index 39b1256e20..ac641aff72 100644 --- a/lib/ios/AirMaps.xcodeproj/project.pbxproj +++ b/lib/ios/AirMaps.xcodeproj/project.pbxproj @@ -21,7 +21,7 @@ 1125B2E51C4AD3DA007D0023 /* AIRMapPolyline.m in Sources */ = {isa = PBXBuildFile; fileRef = 1125B2D41C4AD3DA007D0023 /* AIRMapPolyline.m */; }; 1125B2E61C4AD3DA007D0023 /* AIRMapPolylineManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1125B2D61C4AD3DA007D0023 /* AIRMapPolylineManager.m */; }; 1125B2F21C4AD445007D0023 /* SMCalloutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1125B2F11C4AD445007D0023 /* SMCalloutView.m */; }; - 19DABC7F1E7C9D3C00F41150 /* RCTConvert+MapKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 19DABC7E1E7C9D3C00F41150 /* RCTConvert+MapKit.m */; }; + 19DABC7F1E7C9D3C00F41150 /* RCTConvert+AirMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 19DABC7E1E7C9D3C00F41150 /* RCTConvert+AirMap.m */; }; DA6C26381C9E2AFE0035349F /* AIRMapUrlTile.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6C26371C9E2AFE0035349F /* AIRMapUrlTile.m */; }; DA6C263E1C9E324A0035349F /* AIRMapUrlTileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6C263D1C9E324A0035349F /* AIRMapUrlTileManager.m */; }; /* End PBXBuildFile section */ @@ -68,8 +68,8 @@ 1125B2F01C4AD445007D0023 /* SMCalloutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SMCalloutView.h; path = AirMaps/Callout/SMCalloutView.h; sourceTree = SOURCE_ROOT; }; 1125B2F11C4AD445007D0023 /* SMCalloutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SMCalloutView.m; path = AirMaps/Callout/SMCalloutView.m; sourceTree = SOURCE_ROOT; }; 11FA5C511C4A1296003AC2EE /* libAirMaps.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAirMaps.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 19DABC7D1E7C9D3C00F41150 /* RCTConvert+MapKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RCTConvert+MapKit.h"; sourceTree = ""; }; - 19DABC7E1E7C9D3C00F41150 /* RCTConvert+MapKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+MapKit.m"; sourceTree = ""; }; + 19DABC7D1E7C9D3C00F41150 /* RCTConvert+AirMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RCTConvert+AirMap.h"; sourceTree = ""; }; + 19DABC7E1E7C9D3C00F41150 /* RCTConvert+AirMap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+AirMap.m"; sourceTree = ""; }; DA6C26361C9E2AFE0035349F /* AIRMapUrlTile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AIRMapUrlTile.h; sourceTree = ""; }; DA6C26371C9E2AFE0035349F /* AIRMapUrlTile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AIRMapUrlTile.m; sourceTree = ""; }; DA6C263C1C9E324A0035349F /* AIRMapUrlTileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AIRMapUrlTileManager.h; sourceTree = ""; }; @@ -134,8 +134,8 @@ 1125B2D61C4AD3DA007D0023 /* AIRMapPolylineManager.m */, 1125B2F01C4AD445007D0023 /* SMCalloutView.h */, 1125B2F11C4AD445007D0023 /* SMCalloutView.m */, - 19DABC7D1E7C9D3C00F41150 /* RCTConvert+MapKit.h */, - 19DABC7E1E7C9D3C00F41150 /* RCTConvert+MapKit.m */, + 19DABC7D1E7C9D3C00F41150 /* RCTConvert+AirMap.h */, + 19DABC7E1E7C9D3C00F41150 /* RCTConvert+AirMap.m */, DA6C26361C9E2AFE0035349F /* AIRMapUrlTile.h */, DA6C26371C9E2AFE0035349F /* AIRMapUrlTile.m */, DA6C263C1C9E324A0035349F /* AIRMapUrlTileManager.h */, @@ -206,7 +206,7 @@ 1125B2E01C4AD3DA007D0023 /* AIRMapManager.m in Sources */, 1125B2E61C4AD3DA007D0023 /* AIRMapPolylineManager.m in Sources */, 1125B2DD1C4AD3DA007D0023 /* AIRMapCircle.m in Sources */, - 19DABC7F1E7C9D3C00F41150 /* RCTConvert+MapKit.m in Sources */, + 19DABC7F1E7C9D3C00F41150 /* RCTConvert+AirMap.m in Sources */, 1125B2E51C4AD3DA007D0023 /* AIRMapPolyline.m in Sources */, DA6C263E1C9E324A0035349F /* AIRMapUrlTileManager.m in Sources */, 1125B2DA1C4AD3DA007D0023 /* AIRMap.m in Sources */, diff --git a/package.json b/package.json index 70224da447..30ffc43e8b 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.13.1", + "version": "0.15.2", "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "run:packager": "./node_modules/react-native/packager/packager.sh", @@ -53,7 +53,7 @@ }, "rnpm": { "android": { - "sourceDir": "./android" + "sourceDir": "./lib/android" } } }