1.2.3 • Published 6 years ago

react-native-gm-baidu-location v1.2.3

Weekly downloads
7
License
ISC
Repository
github
Last release
6 years ago

react-native-gm-baidu-location

为 react-native 桥接的百度定位 SDK,由 react-native-baidu-location 改进而来,原来的库运行会报错,主要工作是增加了 API,以及升级 SDK 版本,时间问题保留了原库的一些代码逻辑。

  • Android SDK v7.5
  • IOS SDK v3.0

安装

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

集成

Android

  1. AndroidManifest.xml 文件中,正确填写 AK

    <application>
    	<meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="开发者申请的AK" >
    	</meta-data>
    </application>
  2. AndroidManifest.xml 中声明定位 service

    <application>
    	<service
    		android:name="com.baidu.location.f"
    		android:enabled="true"
    		android:process=":remote">
        </service>
    </application>
  3. AndroidManifest.xml 添加所需权限

    注意:针对Android 6.0 以上设备,定位等敏感权限还需要动态获取,见 PermissionsAndroid

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

详情参考百度定位 Android Studio 集成指南

API

APIParamDescriptioniOSAndroid
init-初始定位实例
setLocationOption{}设置定位参数,详见:setLocationOption
startLocation-开始定位
restartLocation-重新获取定位
stopLocation-停止定位
enableLocInForeground-保持后台定位,详见:Android 后台定位限制
didUpdateBMKUserLocationfunc定位刷新回调
didStopLocatingUserfunc停止定回调
didFailToLocateUserWithErrorfunc定位失败回调

API Detail

setLocationOption(option)
  • option

    fieldtypedescription
    coorTypeStr可选,设置返回经纬度坐标类型,默认gcj02 gcj02:国测局坐标; bd09ll:百度经纬度坐标; bd09:百度墨卡托坐标; 海外地区定位,无需设置坐标类型,统一返回wgs84类型坐标
    scanSpanNum可 选,设置发起定位请求的间隔,int类型,单位ms
    openGpsBool可选,设置是否使用gps,默认false
    ignoreKillProcessBool设置是否在stop的时候杀死这个进程,默认(建议)不杀死,即setIgnoreKillProcess(true)
    isNeedAddressBool可选,设置是否需要地址信息,默认不需要
    isNeedLocationDescribeBool可选,默认false,设置是否需要位置语义化结果

Usage

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

BaiduLocatioin.init();

BaiduLocation.setLocationOption({
        scanSpan: 5000
});

BaiduLocation.startLocation();

BaiduLocation.restartLocation();

BaiduLocation.stopLocation();

BaiduLocation.enableLocInForeground();

BaiduLocation.didUpdateBMKUserLocation(param => {
    console.log(param);
});

BaiduLocation.didStopLocatingUser(param => {
    console.log(param);
});

BaiduLocation.didFailToLocateUserWithError(param => {
    console.log(param);
});
1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago