全部服务产品
开发者频道
定价
登录
算路准确性
下载开发文档

为了提高算路的准确性,开发者使用SDK时需要注意以下3点。

1. 如果算路的起点是用户当前的位置,需要把路线节点的title设置为【我的位置】
BNRoutePlanNode *node = [[BNRoutePlanNode alloc] init];
node.title = @"我的位置";
2. 导航初始化并且app获取到定位权限后开启导航定位,算路时会根据这些前序坐标点提高起点的准确性
/**
* 开始更新位置
*/
- (void)startUpdate;

//导航SDK初始化完成并且app获取到定位权限后调用requestAlwaysAuthorization
- (void)requestAlwaysAuthorization {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager requestAlwaysAuthorization];
}
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status API_DEPRECATED_WITH_REPLACEMENT("-locationManagerDidChangeAuthorization:", ios(4.2, 14.0), macos(10.7, 11.0), watchos(1.0, 7.0), tvos(9.0, 14.0)) {
if (status == kCLAuthorizationStatusAuthorizedWhenInUse || status == kCLAuthorizationStatusAuthorizedAlways) {
[BNaviService_Location startUpdate];
}
}
- (void)locationManagerDidChangeAuthorization:(CLLocationManager *)manager API_AVAILABLE(ios(14.0), macos(11.0), watchos(7.0), tvos(14.0)) {
CLAuthorizationStatus status = [manager authorizationStatus];
if (status == kCLAuthorizationStatusAuthorizedWhenInUse || status == kCLAuthorizationStatusAuthorizedAlways) {
[BNaviService_Location startUpdate];
}
}
3. 算路节点的uid字段如果有值的话,需要赋值,该值一般是从百度地图SDK检索服务中获取
BNRoutePlanNode *node = [[BNRoutePlanNode alloc] init];
node.uid = @"检索SDK获取的uid数据";

上一篇

路线结果页

下一篇

实时导航与模拟导航

本篇文章对您是否有帮助?