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

iOS 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

驾车路线规划简介

驾车路径规划可以根据起终点的关键字和城市名称,获取起终点之间的驾车路线规划结果,支持返回多条不同策略的路线,每段路线包含路线长度、耗时、途径的每个路段的详细信息等。驾车路线规划还支持最多添加2个途经点。

可以使用BMKRouteSearch类的drivingSearch方法,发起驾车路线规划请求,结果会通过- (void)onGetDrivingRouteResult:(BMKRouteSearch*)searcher result:(BMKDrivingRouteResult*)result errorCode:(BMKSearchErrorCode)error 方法回调,通过error判断检索是否发送成功,通过解析result字段获取具体的规划结果。

若需要在地图上展示路线规划结果,可以利用BMKPointAnnotation绘制起终点及线路拐点,利用BMKPolyline来绘制路线。

驾车路线规划示例

下面给出简单的代码示例:

1初始化并发起检索
    //初始化检索对象
    _routeSearch = [[BMKRouteSearch alloc] init];
    //设置delegate,用于接收检索结果
_routeSearch.delegate = self;
    //构造驾车查询基础信息类
    BMKPlanNode* start = [[BMKPlanNode alloc]init];
    start.name = @"北京";
    start.cityName = @"天安门";
    BMKPlanNode* end = [[BMKPlanNode alloc]init];
    end.name = @"天津";
    end.cityName = @"天津站";
    BMKDrivingRoutePlanOption *drivingRouteSearchOption = [[BMKDrivingRoutePlanOption alloc]init];
    drivingRouteSearchOption.from = start;
    drivingRouteSearchOption.to = end;
    drivingRouteSearchOption.drivingRequestTrafficType = BMK_DRIVING_REQUEST_TRAFFICE_TYPE_NONE;//不获取路况信息
    BOOL flag = [_routesearch drivingSearch:drivingRouteSearchOption];
    if(flag)
    {
        NSLog(@"car检索发送成功");
    }
    else
    {
        NSLog(@"car检索发送失败");
}
2实现delegate方法,获取结果
/**
 *返回驾乘搜索结果
 *@param searcher 搜索对象
 *@param result 搜索结果,类型为BMKDrivingRouteResult
 *@param error 错误号,@see BMKSearchErrorCode
 */
- (void)onGetDrivingRouteResult:(BMKRouteSearch*)searcher result:(BMKDrivingRouteResult*)result errorCode:(BMKSearchErrorCode)error {
    NSLog(@"onGetDrivingRouteResult error:%d", (int)error);
    if (errorCode == BMK_SEARCH_NO_ERROR) {
        //成功获取结果
    } else {
        //检索失败
    }
}