@1ziton/react-native-baidulocation 中文文档教程
@1ziton/react-native-baidulocation
百度定位
Getting started
$ npm install @1ziton/react-native-baidulocation --save
Mostly automatic installation
$ react-native link @1ziton/react-native-baidulocation
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-baidulocation
and addRNbaidulocation.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNbaidulocation.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.dashixiong.baidulocation.LocationReactPackage;
to the imports at the top of the file - Add
new LocationReactPackage()
to the list returned by thegetPackages()
method
Append the following lines to
android/settings.gradle
:include ':@1ziton_react-native-baidulocation' project(':@1ziton_react-native-baidulocation').projectDir = new File(rootProject.projectDir, '../node_modules/@1ziton/react-native-baidulocation/android')
Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':@1ziton_react-native-baidulocation') 1.在主项目的build.gradle 配置key defaultConfig { manifestPlaceholders = [ BAIDU_APPKEY:'yourkey' ] } 2.在主项目的AndroidManifest.xml配置 <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="${BAIDU_APPKEY}" />
Usage
import {
NativeModules
} from 'react-native';
const { LocationModule } = NativeModules;
componentDidMount() {
if (Platform.OS === ANDROID) {
LocationModule.locationNow();
}
}
LocationModule.getLocation()
.then((result) => {
const locationData = JSON.parse(result);
if (locationData.errorCode === 0) {
let { longitude, latitude } = locationData;
} else ToastUtil.center('定位失败,请重试');
})
.catch(() => {
ToastUtil.center('定位失败,请重试');
});
}
```