react-native-baidu-location
TOC
Installation
Using npm:
npm install --save react-native-baidu-geolocation
or using yarn:
yarn add react-native-baidu-geolocation
Linking
Automatic
react-native link react-native-baidu-geolocation
Manual
Android
- In
android/app/build.gradle
:
dependencies { ... compile "com.facebook.react:react-native:+" // From node_modules+ compile project(':react-native-baidu-geolocation') ...}
- In
android/settings.gradle
:
...include ':app'+ include ':react-native-baidu-geolocation'+ project(':react-native-baidu-geolocation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-baidu-geolocation/android')...
With React Native 0.29+
- In
MainApplication.java
:
...+ import com.rnbaidulocation.RNBaidulocPackage; public class MainApplication extends Application implements ReactApplication { ... @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(),+ new RNBaidulocPackage() ); } ... }
With older versions of React Native:
- In
MainActivity.java
:
...+ import com.rnbaidulocation.RNBaidulocPackage; public class MainActivity extends ReactActivity { ... @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(),+ new RNBaidulocPackage() ); } }
- In
AndroidManifest.xml
+ <meta-data+ android:name="com.baidu.lbsapi.API_KEY"+ android:value="Your AK" />+ <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
iOS
In XCode, in the project navigator:
- Right click Libraries
- Add Files to [your project's name]
- Go to
node_modules/react-native-baidu-geolocation/ios
- Add the
RNBaiduLocation.xcodeproj
file
Click on project General tab
- Under Linked Frameworks and Libraries click
+
and addlibstdc++.6.0.9.tbd
,libsqlite3.0.tbd
,RNBaiduLocation.framework
,BaiduMapAPI_Search.framework
,BaiduMapAPI_Base.framework
,BaiduMapAPI_Location.framework
Click on project Build Settings tab
- Look for Framework Search Paths and make sure it contain
$(SRCROOT)/../node_modules/react-native-baidu-geolocation/ios/RNBaiduLocation/vender
- Look for Header Search Paths and make sure it contain
$(SRCROOT)/../node_modules/react-native-baidu-location/ios/RNBaiduLocation
(Mark as recursive)
In the project navigator:
- Click Info.plist
- Add the
NSLocationWhenInUseUsageDescription
to yourInfo.plist
with strings describing why your app needs these permissions.
In AppDelegate.m
+ _mapManager = [[BMKMapManager alloc] init];+ BOOL ret = [_mapManager start:@"Your AK" generalDelegate:nil];+ if (!ret) {+ NSLog(@"baidu map error.");+ }
Run your project (Cmd+R)
Usage
See the example
...; NRBaidulocstart;...