浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WebAPI文档全面上新

新增示例代码、在线运行等功能,帮助您实现快速接入,前往体验吧!

体验新版
更新时间:2020年03月10日 
简介

调用接口时,请参照以下接口说明。一般情况下,在需要获取定位信息的位置,按1-2-3-4-6的顺序调用即可获取;不需要定位时,调用接口5即可停止定位。注意:接口1和2需要在程序初始化时调用,避免发生获取不到定位信息的情况。

1定位权限动态申请
void requestPermission()
2设置iOS端AK
Future<bool> setApiKey(String key)
3准备定位,配置Android端和iOS端定位参数
void prepareLoc(Map androidMap, Map iosMap)

将您所设置的Android端和iOS端定位参数以键值对map形式传递到原生端对外接口中。Android端和iOS端目前支持设置以下定位参数:
1. Android端

BaiduLocationAndroidOption androidOption = new BaiduLocationAndroidOption();

androidOption.setCoorType("bd09ll");
/// 可选,设置返回经纬度坐标类型,默认gcj02
/// gcj02:国测局坐标;
/// bd09ll:百度经纬度坐标;
/// bd09:百度墨卡托坐标;
/// 海外地区定位,无需设置坐标类型,统一返回wgs84类型坐标

androidOption.setIsNeedAltitude(true);
/// 可选,设置是否需要返回海拔高度信息,true为需要返回

androidOption.setIsNeedAddres(true);
/// 可选,设置是否需要返回地址信息,true为需要返回

androidOption.setIsNeedLocationPoiList(true);
/// 可选,设置是否需要返回周边poi信息,true为需要返回

androidOption.setIsNeedNewVersionRgc(true);
/// 可选,设置是否需要返回新版本rgc信息,true为需要返回

androidOption.setIsNeedLocationDescribe(true);
/// 可选,设置是否需要返回位置描述信息,true为需要返回

androidOption.setOpenGps(true);
/// 可选,设置是否需要使用gps,true为需要使用

androidOption.setLocationMode(LocationMode.Hight_Accuracy);
/// 可选,设置定位模式,可选的模式有高精度、低功耗、仅设备,默认为高精度模式,可选值如下:
/// 高精度模式: LocationMode.Hight_Accuracy
/// 低功耗模式:LocationMode.Battery_Saving
/// 仅设备(Gps)模式:LocationMode.Device_Sensors

androidOption.setScanspan(1000);
/// 可选,设置发起定位请求的间隔,int类型,单位ms
/// 如果设置为0,则代表单次定位,即仅定位一次,默认为0
/// 如果设置非0,需设置1000ms以上才有效

androidOption.setLocationPurporse(BDLocationPurpose.SignIn);
/// 可选,设置场景定位参数,包括签到场景、运动场景、出行场景,可选值如下:
/// 签到场景: BDLocationPurpose.SignIn
/// 运动场景: BDLocationPurpose.Transport
/// 出行场景: BDLocationPurpose.Sport

Map androidMap = androidOption.getMap();

2. iOS端

BaiduLocationIOSOption iosOption = new BaiduLocationIOSOption();

iosOption.setIsNeedNewVersionRgc(true);
/// 可选,设置是否需要返回新版本rgc信息,true为需要返回
     
iosOption.setBMKLocationCoordinateType("BMKLocationCoordinateTypeBMK09LL");
///  可选,设置返回位置的坐标系类型 ,参数为String类型,可选值如下:
/// "BMKLocationCoordinateTypeBMK09LL" 百度经纬度坐标
/// "BMKLocationCoordinateTypeBMK09MC" 百度墨卡托坐标
/// "BMKLocationCoordinateTypeWGS84"  gps坐标
/// "BMKLocationCoordinateTypeGCJ02" 国测局坐标
  
iosOption.setActivityType("CLActivityTypeAutomotiveNavigation");
/// 可选,设置应用位置类型,参数为String类型,可选值如下:
/// "CLActivityTypeOther"
/// "CLActivityTypeAutomotiveNavigation"
/// "CLActivityTypeFitness"
/// "CLActivityTypeOtherNavigation"

iosOption.setDesiredAccuracy("kCLLocationAccuracyBest");
/// 可选,设置期望定位精度,参数为String类型,可选值如下:
/// "kCLLocationAccuracyBest"
/// "kCLLocationAccuracyNearestTenMeters"
/// "kCLLocationAccuracyHundredMeters"
/// "kCLLocationAccuracyKilometer"

iosOption.setLocationTimeout(10);
/// 可选,设置位置获取超时时间,参数为int类型

iosOption.setReGeocodeTimeout(10);
/// 可选,设置获取rgc信息超时时间,参数为int类型

iosOption.setPauseLocUpdateAutomatically(true);
/// 可选,指定定位是否会被系统自动暂停,参数为bool类型
/// true表示定位会被系统自动暂停,false表示不会

iosOption.setAllowsBackgroundLocationUpdates(true);
/// 可选,设置是否允许后台定位,参数为bool类型
/// true表示允许后台定位,false表示不允许后台定位

iosOption.setDistanceFilter(10);
/// 可选,设置定位的最小更新距离,参数为double类型
4启动定位
void startLocation()
5停止定位
void stopLocation()
6原生端以键值对map的形式回传定位结果到Flutter端
Stream<Map<String, Object>> onResultCallback()
键值参数说明
Key名称 类型 描述
locType
Int
定位结果类型 (仅Android端会返回)
locTime
String
定位成功时间
callbackTime
String
定位结果回调时间
latitude
Double
纬度
longitude
Double
经度
altitude
Double
高度
radius
Double
定位精度
country
String
国家
province
String
省份
city
String
城市
district
String
区县
town
String
乡镇
street
String
街道
address
String
地址
locationDetail
String
位置语义化描述 (仅Android端会返回),例如“在百度大厦附近”
poiList
String
周边POI信息列表,每个POI信息之间用“|”隔开
errorCode
Int
定位结果错误码,请参照Android错误码iOS错误码
errorInfo
String
定位失败描述信息
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消