美文网首页
IOS百度地图多点路径规划

IOS百度地图多点路径规划

作者: 海绵大虾 | 来源:发表于2017-02-10 12:07 被阅读0次
bmk.png

这是我自己分享的第一个项目,请大家指点指点

在使用百度地图的时候遇到的一个需求,多点路径规划,按照百度地图官方文档,写的有点麻烦,就自己稍微封装了一下 使用方法

 NSArray *keys = @[@"百度大厦",@"天安门",@"长城"];
    NSMutableArray *items = [[NSMutableArray alloc]init];

    for (int i = 0; i < keys.count; i++) {
        YBMKAddressItem *item1 = [[YBMKAddressItem alloc]init];
        item1.city = @"北京"; //城市名
        item1.key = keys[i];  //关键词
        [items addObject:item1];
    }

    [YBMKMapRoutePlan startBMRoutePlan:items success:^(BMKPolyline *line, NSArray *annotations) {
        for (RouteAnnotation* item in annotations) {
            [_mapView addAnnotation:item];
        }
        [_mapView addOverlay:line];
        [self mapViewFitPolyLine:line];
    }];

新建三个点,按照顺序排列,在block里处理路径规划的结果

使用百度地图路径规划的时候,遇到两个问题,记录一下

1,没有路线的问题是 BMKMapViewDelegate 的两个代理方法没有实现

- (BMKAnnotationView *)mapView:(BMKMapView *)view viewForAnnotation:(id <BMKAnnotation>)annotation
{
    if ([annotation isKindOfClass:[RouteAnnotation class]]) {
        return [(RouteAnnotation*)annotation getRouteAnnotationView:view];
    }
    return nil;
}

- (BMKOverlayView*)mapView:(BMKMapView *)map viewForOverlay:(id<BMKOverlay>)overlay
{
    if ([overlay isKindOfClass:[BMKPolyline class]]) {
        BMKPolylineView* polylineView = [[BMKPolylineView alloc] initWithOverlay:overlay];
        polylineView.fillColor = [[UIColor alloc] initWithRed:0 green:1 blue:1 alpha:1];
        polylineView.strokeColor = [[UIColor alloc] initWithRed:0 green:0 blue:1 alpha:0.7];
        polylineView.lineWidth = 3.0;
        return polylineView;
    }
    return nil;
}

2,图标不对,RouteAnnotation.m 中会制定起点、终点、途径点的图片,按照你自己的需求修改就好

view = [mapview dequeueReusableAnnotationViewWithIdentifier:@"start_node"];
            if (view == nil) {
                view = [[BMKAnnotationView alloc] initWithAnnotation:self reuseIdentifier:@"start_node"];
                view.image = [UIImage imageNamed:@"icon_nav_start.png"];
                view.centerOffset = CGPointMake(0, -(view.frame.size.height * 0.5));
            }

github地址:https://github.com/yanlinhong/BMKUtil

相关文章

  • IOS百度地图多点路径规划

    这是我自己分享的第一个项目,请大家指点指点 在使用百度地图的时候遇到的一个需求,多点路径规划,按照百度地图官方文档...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • 【整理之路二】百度地图的路径规划和调用本机地图导航

    一、细说百度地图的路径规划 路径规划主要有这么几种1.公交路径规划1.1 市内公交规划(暂时不在这里说)1.2 跨...

  • 百度地图-路径规划

    直接调用的百度web 地址官网地址:https://lbsyun.baidu.com/index.php?titl...

  • iOS百度地图开发之路径规划

    示例程序 使用百度地图SDK版本为2.9.1。需要将改 代码:

  • Android 百度地图

    本期的主要目标: 掌握百度地图API的使用方法,掌握地图显示,地图定位,POI检索以及路径规划导航。 SDK简介和...

  • 基于路径规划API使用FME计算等时圈

    本次依旧使用百度地图开放平台,这次使用路径规划API。本次是计算驾车出行的等时圈,因此在路径规划服务文档中找到驾车...

  • IOS 百度地图多途径点路径规划学习笔记

    最近学习了百度地图的多途径点路径(驾车路线规划),按照百度地图的Demo学习,实现了页面,唯一遇到的小问题就是在标...

  • 使用FME提取最短路径

    本次依旧使用百度地图开放平台中的路径规划API,本次使用的是轻量级路线规划中的步行路线规划。 总体思路如下: 使用...

  • iOS 高德地图 路径规划

    前言 本文章只针对iOS系统高德地图的路径规划功能,关于集成和配置请参考高德开放平台。之前我也在网上看过别人写的博...

网友评论

      本文标题:IOS百度地图多点路径规划

      本文链接:https://www.haomeiwen.com/subject/msegittx.html