0.0.3 • Published 8 years ago

react-native-baidu-location v0.0.3

Weekly downloads
12
License
-
Repository
-
Last release
8 years ago

react-native-baidu-location

集成百度的定位功能,支持IOS和Android ##安装

npm install react-native-baidu-location
rnpm link react-native-baidu-location

##集成到iOS 1.请在你的工程目录结构中,添加百度定位SDK引用,在选项TARGETS--> Build Phases-->Link Binary With Libraries-->Add Other,选择文件node_modules/react-native-baidu-location/ios/BaiduLocation/BaiduMapAPI_Base.framework node_modules/react-native-baidu-location/ios/BaiduLocation/BaiduMapAPI_Location.framework node_modules/react-native-baidu-location/ios/BaiduLocation/BaiduMapAPI_Search.framework

2.在工程目录结构中,添加百度定位SDK引用,在TARGETS-->Build Settings-->Framework Search Paths, 添加: $(SRCROOT)/../node_modules/react-native-umeng-analytics/ios/BaiduLocation

注:自iOS8起,系统定位功能进行了升级,开发者在使用定位功能之前,需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription): NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述 NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述

详情参考:百度定位IOS集成指南

##集成到android

####添加配置 在项目工程的AndroidManifest.xml中的标签下添加:

<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="AK" />       //key:开发者申请的Key

在Application标签中声明SERVICE组件,每个APP拥有自己单独的定位SERVICE

<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">
</service>

声明使用权限

<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

详情参考:百度定位android集成指南

##API

APINote
startLocation开始定位
stopLocation停止定位
didUpdateBMKUserLocation定位刷新的回调方法
didStopLocatingUser定位停止的回调方法
didFailToLocateUserWithError定位失败的回调方法

##Usage

import BaiduLocation from 'react-native-baidu-location'

//开始定位
BaiduLocation.startLocation();

//停止定位
BaiduLocation.stopLocation();

//定位刷新回调
BaiduLocation.didUpdateBMKUserLocation(param=>{
    console.log('didUpdateBMKUserLocation',param);
})

//定位失败的回调
BaiduLocation.didFailToLocateUserWithError(param=>{
    console.log('didFailToLocateUserWithError',param);
})

//定位停止的回调
BaiduLocation.didStopLocatingUser(param=>{
    console.log('didStopLocatingUser',param);
})