iOS百度地图SDK问题

作者: 81e90ac08aac | 来源:发表于2017-03-13 11:26 被阅读2785次

    1.paopaoView 不让其显示的问题

    ///当为YES时,view被选中时会弹出气泡,annotation必须实现了title这个方法
    @property (nonatomic) BOOL canShowCallout;

    2.iOS 封装一个百度地图的定位类 可以持续后台定位

    http://www.jianshu.com/p/cc3cee4f64a9

    3.ios 点聚合获取聚合点里面所有数据

    - (void)updateClusters {
        _clusterZoom = (NSInteger)_mapView.zoomLevel;
        @synchronized(_clusterCaches) {
            __block NSMutableArray *clusters = [_clusterCaches objectAtIndex:(_clusterZoom - 3)];
            
            if (clusters.count > 0) {
                [_mapView removeAnnotations:_mapView.annotations];
                [_mapView addAnnotations:clusters];
            } else {
                dispatch_async(dispatch_get_global_queue(0, 0), ^{
                    
                    ///获取聚合后的标注
                    __block NSArray *array = [_clusterManager getClusters:_clusterZoom];
                    
                    dispatch_async(dispatch_get_main_queue(), ^{
                        for (BMKCluster *item in array) {
                            ClusterAnnotation *annotation = [[ClusterAnnotation alloc] init];
                            annotation.coordinate = item.coordinate;
                            annotation.size = item.size;
                            annotation.title = [NSString stringWithFormat:@"我是%ld个", item.size];
                            [clusters addObject:annotation];
                        }
                        [_mapView removeAnnotations:_mapView.annotations];
                        [_mapView addAnnotations:clusters];
                    });
                });
            }
        }
    }
    
    4.我传入的是起始点和终点的经纬度(比较精确的地理位置),路径规划后路径线没有跟起始点和终点连接

    路径规划的数据起点 和 传入的起始点是不一样的,方法就是获得路线规划的起点和传入的起点 添加polyline

    5. 选中一条 BMKPolyline 或是一条 BMKPolyline 被点击
     //点中覆盖物后会回调此接口,目前只支持点中BMKPolylineView时回调
     *@param mapview 地图View
     *@param overlayView 覆盖物view信息
     */
    - (void)mapView:(BMKMapView *)mapView onClickedBMKOverlayView:(BMKOverlayView *)overlayView;
    
    6 获取地图在屏幕上四个顶点的坐标
    /**
    * 获取地图状态
      *@return 返回地图状态信息
    */
    - (BMKMapStatus*)getMapStatus;
    
    //BMKMapStatus 中有
    ///当前地图范围,采用直角坐标系表示,向右向下增长
    @property (nonatomic, assign, readonly) BMKMapRect visibleMapRect;
    
    
    ///此类表示地图状态信息
    @interface BMKMapStatus : NSObject
    {
        float       _fLevel;       // 缩放比例,3-19级
        float       _fRotation;    // 旋转角度
        float       _fOverlooking; // 俯视角度
        
        CGPoint     _targetScreenPt;//屏幕坐标(中心点)
        CLLocationCoordinate2D _targetGeoPt;//地理坐标(中心点)
    }
    ///缩放级别:[3~19]
    @property (nonatomic, assign) float fLevel;
    ///旋转角度
    @property (nonatomic, assign) float fRotation;
    ///俯视角度:[-45~0]
    @property (nonatomic, assign) float fOverlooking;
    ///屏幕中心点坐标:在屏幕内,超过无效
    @property (nonatomic) CGPoint targetScreenPt;
    ///地理中心点坐标:经纬度
    @property (nonatomic) CLLocationCoordinate2D targetGeoPt;
    ///当前地图范围,采用直角坐标系表示,向右向下增长
    @property (nonatomic, assign, readonly) BMKMapRect visibleMapRect;
    
    @end
    
    7 骑行导航
     *调起百度地图客户端骑行导航页面(不支持调起web地图)
     *客户端v8.8以后支持
     *@param para 调起骑行导航时传入得参数
     */
    + (BMKOpenErrorCode)openBaiduMapRideNavigation:(BMKNaviPara*)para;
    
    8 反向地理编码失败

    onGetPermissionState回调授权成功。但是调用reverseGeoCode却返回失败,非ARC环境。部分手机没问题,但有些手机经常出现调用reverseGeoCode返回失败。可以确定bundle id没错

    原因已找到,被一个第三方静态库包坑了,第三方库重新注册了百度地图key。所以,最终原因还是因为appKey跟bundle id不一致导致反地理编码失败。

    9 WGS84、国测局、百度坐标转换
    开发指南输入坐标指南
    
    经纬度:最通常使用WGS84坐标系(一种球面坐标规范,也是GPS使用的坐标系,球面坐标,经度-180度到180度,纬度-90度到90度),国内地图由于政策原因不允许对外公开此坐标,因此在此基础上需要进行加密处理,这个加密过程是国家测绘局提供的,得到的坐标是国测局加密坐标(GCJ02)。百度在国测局加密坐标基础上进一步做了加密,百度使用的经纬度为BD09坐标系(bdllo9)。但是不论怎么加密,经纬度仍然是球面坐标,取值范围也不变。
    
    坐标的转换:WGS84、国测局、百度坐标转换:这个过程涉及加密,因此算法不公开,可以通过百度地图API提供的服务进行转换;
    百度地图SDK采用的是百度自有的地理坐标系(bdll09);因此开发者在做位置标注的时候,需要将其他类型的坐标转换为百度坐标。相应的接口和转换方式如下:
    
    CLLocationCoordinate2D coor = CLLocationCoordinate2DMake(39.90868, 116.3956);//原始坐标
    
    //转换国测坐标(google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标)至百度坐标
    NSDictionary* testdic = BMKConvertBaiduCoorFrom(coor,BMK_COORDTYPE_COMMON);
    
    //转换GPS坐标至百度坐标(加密后的坐标)
    testdic = BMKConvertBaiduCoorFrom(coor,BMK_COORDTYPE_GPS);
    
    NSLog(@"x=%@,y=%@",[testdic objectForKey:@"x"],[testdic objectForKey:@"y"]);
    //解密加密后的坐标字典
    CLLocationCoordinate2D baiduCoor = BMKCoorDictionaryDecode(testdic);//转换后的百度坐标
    注意:百度地图SDK目前支持的是百度坐标(bdll09),不支持国测坐标 (gcj02)请求数据。
    请勿使用非官方转换方法,包括百度坐标bdll09转国测坐标gcj02,国测坐标gcj02转百度坐标bdll09
    
    
    在使用坐标时添加,添加坐标转换说明
    百度地图SDK目前支持的是百度坐标(bdll09),不支持国测坐标(gcj02)请求数据,如果您使用的是其他坐标类型,需要将其他类型的坐标转换为百度坐标。相应的接口和转换方法请参考坐标转换,请勿使用非官方转换方法。
    
    10 Geocoding API服务次数限制

    地图SDK RGC 没有次数限制,有并发处理(每秒最多请求多少次)

    地图相关

    Q:引擎初始化失败,地图显示空白的问题
    A:该问题是由bundle文件没有正确添加造成的,请按照开发指南正确添加即可

    Q:地图只显示网格
    A:显示网格是由地图数据没有正常获取造成的,请检查网络是否正常,鉴权是否通过

    Q:地图进去后显示的是天安门,怎么设置显示其它地方
    A:设置地图中心经纬度即可

    Q:在BMKMapView中添加subView时,不会显示
    A:SDK会控制BMKMapView各个子view的压盖顺序,所以不能直接将view添加到BMKMapView上,可以添加到BMKMapView的superview里,这样就可以显示了

    Q:在BMKMapView中添加自己的手势后,地图不能正常操作了
    A:添加自己的手势后,SDK无法正常处理手势事件造成的。添加自定义手势时,必须设置UIGestureRecognizer的属性cancelsTouchesInView 和 delaysTouchesEnded 为NO,否则影响地图内部的手势处理

    Q:指南针没有显示
    A:当地图处于正北方向时,指南针是默认隐藏的,旋转地图看看是否显示,如果还不显示,看下CompassPosition是否设置在地图frame范围内

    Q:获取的地图中心点经纬度为(0,0) ,屏幕坐标转经纬度时,结果为(0,0)
    A:在下边的回调执行完后,再获取(转换)试一下
    /*地图初始化完毕时会调用此接口@param mapview 地图View/- (void)mapViewDidFinishLoading:(BMKMapView *)mapView;

    Q:如何判断地图是在执行放大缩小操作还是移动操作
    A:通过下边两个接口,比较下地图区域改变的状态,来区分是缩放还是移动
    //地图区域即将改变时会调用此接口

    • (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
      //地图区域改变完成后会调用此接口
    • (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;

    Q:地图level对应距离(比例尺级别对应的多少米 )
    A:
    level: 距离(米)22: 2;21: 5;20: 10;19: 20;18: 50;17: 100;16: 200;15: 500;14: 1000;13: 2000;12: 5000;11: 10000;10: 20000;9: 25000;8: 50000;7: 100000;6: 200000;5: 500000;4: 1000000;3: 2000000;

    覆盖物、标注相关

    Q:如何显示多个气泡
    A:SDK目前的策略是,在同一时间只有一个标注处于选中状态,即显示气泡。如果想显示多个气泡,可以自定义BMKAnnotationView,将气泡做为标注的一部分进行显示即可

    Q:如何一直显示Annotation的气泡、泡泡、弹出层
    A:如果想一直显示,需要自定义annotationview,将泡泡作为annotationview的一部分,一直显示

    Q:如何隐藏Annotation的气泡
    A:取消选中该annotation就会隐藏起泡,BMKMapView中有相关方法:
    - (void)deselectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;

    Q:标注点击事件只会响应一次,再次点击无法回调didSelectAnnotationView
    A:标注在选中状态时不能被再次选中,所以就不会回调didSelectAnnotationView,取消选中后才可以被选中
    取消选中方法,BMKMapView中有相关方法:
    - (void)deselectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;

    Q:如何判断点击了哪个大头针
    A:在下边这个回调方法里,通过view来判断
    - (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;

    Q:如何在地图中心添加一个view,不随地图移动,类似uber的效果
    A:可以将这个view,添加到 mapView.superview 中,view的坐标设在中心即可

    Q:如何选中一个标注
    A:BMKMapView中提供的有选中标注的方法:
    - (void)selectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;

    定位相关

    Q:定位失败、定位不准确
    A:定位结果是由系统决定的,SDK只是封装了系统定位的结果,定位的结果和准确度sdk无法左右
    另外,模拟器需要手动设置我的位置

    Q:地图中无法显示我的位置
    A:首先要确定定位成功,然后需要在定位成功的回调里updateLocationData,麻烦参考下demo定位部分

    *用户位置更新后,会调用此函数
    *@param userLocation 新的用户位置
    */
    - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
    {
        [_mapView updateLocationData:userLocation];
    }
    

    Q:隐藏定位精度圈、蓝圈
    A:参考下下边接口

    *动态定制我的位置样式
    *        @param        [in]        locationViewDisplayParam        样式参数
    */
    - (void)updateLocationViewWithParam:(BMKLocationViewDisplayParam*)locationViewDisplayParam;
    

    Q:定位 拖动之后就又变回普通态了
    A:v3.1.0之前版本:SDK自带定位的显示策略就是这样的,拖动后会变回普通态。可以自己使用annotation显示我的位置,这样就可以自己控制定位的显示了
    v3.1.0 及之后版本: BMKUserTrackingModeHeading:在普通定位模式的基础上显示方向,即地图不会旋转,我的位置图标旋转,显示我的位置和方向(2016年10月14日 iOS 地图 SDK v 3.1.0发布)

    Q:定位4种模式
    A:BMKMapView的定位模式(userTrackingMode)有4种:
    BMKUserTrackingModeNone :普通定位模式,显示我的位置,我的位置图标和地图都不会旋转
    BMKUserTrackingModeFollow : 定位跟随模式,我的位置始终在地图中心,我的位置图标会旋转,地图不会旋转
    BMKUserTrackingModeFollowWithHeading : 定位罗盘模式,我的位置始终在地图中心,我的位置图标和地图都会跟着旋转
    BMKUserTrackingModeHeading:在普通定位模式的基础上显示方向,即地图不会旋转,我的位置图标旋转,显示我的位置和方向(2016年10月14日 iOS 地图 SDK v 3.1.0发布)

    Q:点击定位点时,不显示 “我的位置”的气泡
    A:隐藏我的位置气泡,设置 userLocation.title = nil; 即可

    Q:如何只定位一次
    A:在成功获取定位信息后,停止定位就可以了

    检索、周边雷达相关

    Q:检索发送失败
    A:检查下发起检索时鉴权完成了没有,发起检索必须是在鉴权完成后,否则会发送失败

    Q:检索连续发送多次请求,只收到最后一个请求的结果
    A:一个search对象,同一时间只能进行一次检索,要同时进行多个检索,需要使用多个search对象,在回调中通过search对象来区分是哪个检索

    Q:驾车路径规划的途经点过多时,检索无结果
    A:途经点过多时,服务端算路的过程比较慢,可能会造成超时,所以途经点不宜设置过多

    Q:定位信息怎么样定位到周围的建筑物,而不是街道信息
    A:使用反地理编码检索,其检索结果中有poilist

    其他

    Q:ios 获取城市编码
    A:使用BMKOfflineMap:返回的对象中有城市编码

    /**
     *根据城市名搜索该城市离线地图记录
     *@param cityName 城市名
     *@return 该城市离线地图记录,用户需要显示释放该数组,数组元素为BMKOLSearchRecord
     */
     - (NSArray*)searchCity:(NSString*)cityName;
    

    或者:
    http://lbsyun.baidu.com/index.php?title=open/dev-res百度地图城市名称-城市代码(cityCode)关系对照文本Q:SDK提示:组件的版本和base组件的版本不一致,请保持一致,否则不能正常使用
    A: 2.9.0以后,地图SDK采取了分包的形式,再使用时要确保组件的版本和base组件的版本一致。
    每个组件都有一个BMK***Version.h文件,可以查看当前组件的版本号

    Q:如何将其他坐标转换成百度坐标
    A:使用BMKConvertBaiduCoorFrom()方法获取加密后的坐标,然后使用BMKCoorDictionaryDecode()方法解密

    Q:官方demo不显示地图,只显示网格
    A:demo中没有ak,需要将demo中的ak和bundle id都改成在控制台申请的就可以了

    Q:archive时,提示不支持bitcode (*** was built without full bitcode)
    A:请到下载页面,下载支持bitcode的SDK版本即可(http://lbsyun.baidu.com/index.php?title=iossdk/sdkiosdev-download

    Q:cocopods中SDK不是最新的
    A:这是由于cocopods有缓存导致的,将缓存清一下就可以了

    Q:比例尺级别对应的多少米
    A:
    22: 2m; 21: 5m; 20: 10m; 19: 20m; 18: 50m; 17: 100m; 16: 200m; 15: 500m; 14: 1000m; 13: 2000m; 12: 5000m; 11: 10000m; 10: 20000m; 9: 25000m; 8: 50000m; 7: 100000m; 6: 200000m; 5: 500000m; 4: 1000000m; 3: 2000000m

    Q:openssl静态库:libssl.a和libcrypto.a(存放于thirdlib目录下) 这个库的版本号是多少
    A: 1.0.2e
    `

    16 [[iOS地图sdk]] mapView在控制器被移除后 再次进入该界面 内存一直增加

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=127437&page=1#pid275268

    11 iphone的屏幕中心叠加一个小圆圈,然后在移动地图的时候,这个小圆圈不动,同时,用户每次移动了地图,后台就会自动以这个小圆圈指定的地图上面的位置为中心来检索周边的建筑物,这种功能能否实现呢?

    可以参考一下这个思路:
    在地图可视区域上面添加一个view,用来显示图标,然后在通过获取地图中心点来做逻辑处理。

    12 提交审核错误: not allowed to listen to device lock notifications

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=128713&extra=page%3D1

    13 集成环信和 地图SDK报错

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=127579&extra=page%3D1

    14 加载纹理图片有问题

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=111618&extra=page%3D1

    15 地图放在scrollview视图,滚动时候地图上下边界出现黑边闪烁

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=123631&extra=page%3D1

    16 百度提供的小车平滑移动的Demo问题

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=129235&extra=page%3D1

    17 BMKMapManager 错误码
    typedef enum
    {
        BMK_COORDTYPE_GPS = 0, ///GPS设备采集的原始GPS坐标(WGS-84)
        BMK_COORDTYPE_COMMON,  ///GCJ坐标,google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标
        BMK_COORDTYPE_BD09LL,    ///bd09ll 百度经纬度坐标
    } BMK_COORD_TYPE;
    enum {
        BMKMapTypeNone       = 0,               ///< 空白地图
        BMKMapTypeStandard   = 1,               ///< 标准地图
        BMKMapTypeSatellite  = 2,               ///< 卫星地图
    };
    typedef NSUInteger BMKMapType;
    
    typedef enum {
        BMKErrorOk = 0, ///< 正确,无错误
        BMKErrorConnect = 2,    ///< 网络连接错误
        BMKErrorData = 3,   ///< 数据错误
        BMKErrorRouteAddr = 4, ///<起点或终点选择(有歧义)
        BMKErrorResultNotFound = 100,   ///< 搜索结果未找到
        BMKErrorLocationFailed = 200,   ///< 定位失败
        BMKErrorPermissionCheckFailure = 300,   ///< 百度地图API授权Key验证失败
        BMKErrorParse = 310     ///< 数据解析失败
    }BMKErrorCode;
    //鉴权结果状态码
    typedef enum {
        E_PERMISSIONCHECK_CONNECT_ERROR = -300,//链接服务器错误
        E_PERMISSIONCHECK_DATA_ERROR = -200,//服务返回数据异常
        E_PERMISSIONCHECK_OK = 0,   // 授权验证通过
        E_PERMISSIONCHECK_KEY_ERROR = 101,  //ak不存在
        E_PERMISSIONCHECK_MCODE_ERROR = 102,    //mcode签名值不正确
        E_PERMISSIONCHECK_UID_KEY_ERROR = 200,  // APP不存在,AK有误请检查再重试
        E_PERMISSIONCHECK_KEY_FORBIDEN= 201,    // APP被用户自己禁用,请在控制台解禁
        /*
         *更多鉴权状态码请参考:
         *http://developer.baidu.com/map/index.php?title=lbscloud/api/appendix
         */
    }BMKPermissionCheckResultCode;
    //检索结果状态码
    typedef enum{
        BMK_SEARCH_NO_ERROR = 0,///<检索结果正常返回
        BMK_SEARCH_AMBIGUOUS_KEYWORD,///<检索词有岐义
        BMK_SEARCH_AMBIGUOUS_ROURE_ADDR,///<检索地址有岐义
        BMK_SEARCH_NOT_SUPPORT_BUS,///<该城市不支持公交搜索
        BMK_SEARCH_NOT_SUPPORT_BUS_2CITY,///<不支持跨城市公交
        BMK_SEARCH_RESULT_NOT_FOUND,///<没有找到检索结果
        BMK_SEARCH_ST_EN_TOO_NEAR,///<起终点太近
        BMK_SEARCH_KEY_ERROR,///<key错误
        BMK_SEARCH_NETWOKR_ERROR,///网络连接错误
        BMK_SEARCH_NETWOKR_TIMEOUT,///网络连接超时
        BMK_SEARCH_PERMISSION_UNFINISHED,///还未完成鉴权,请在鉴权通过后重试
        BMK_SEARCH_INDOOR_ID_ERROR,///室内图ID错误
        BMK_SEARCH_FLOOR_ERROR,///室内图检索楼层错误
        BMK_SEARCH_INDOOR_ROUTE_NO_IN_BUILDING,///起终点不在支持室内路线的室内图内
        BMK_SEARCH_INDOOR_ROUTE_NO_IN_SAME_BUILDING,///起终点不在同一个室内
        BMK_SEARCH_PARAMETER_ERROR,///参数错误
    }BMKSearchErrorCode;
    
    //调起百度地图结果状态码
    typedef enum{
        BMK_OPEN_NO_ERROR = 0,///<正常
        BMK_OPEN_WEB_MAP,///打开的是web地图
        BMK_OPEN_OPTION_NULL,///<传入的参数为空
        BMK_OPEN_NOT_SUPPORT,///<没有安装百度地图,或者版本太低
        BMK_OPEN_POI_DETAIL_UID_NULL,///<poi详情 poiUid为空
        BMK_OPEN_POI_NEARBY_KEYWORD_NULL,///<poi周边 keyWord为空
        BMK_OPEN_ROUTE_START_ERROR,///<路线起点有误
        BMK_OPEN_ROUTE_END_ERROR,///<路线终点有误
        BMK_OPEN_PANORAMA_UID_ERROR,///<调起全景 poiUid不正确
        BMK_OPEN_PANORAMA_ABSENT,///<调起全景 此处不支持全景
        BMK_OPEN_PERMISSION_UNFINISHED,///还未完成鉴权,请在鉴权通过后重试
        BMK_OPEN_KEY_ERROR,///<app key错误
        BMK_OPEN_NETWOKR_ERROR,///网络连接错误
    }BMKOpenErrorCode;
    
    
    18 安居客选房功能

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=115703&extra=page%3D1

    19 路线规划后,显示polyline的范围
    //根据polyline设置地图范围
    - (void)mapViewFitPolyLine:(BMKPolyline *) polyLine {
        CGFloat ltX, ltY, rbX, rbY;
        if (polyLine.pointCount < 1) {
            return;
        }
        BMKMapPoint pt = polyLine.points[0];
        ltX = pt.x, ltY = pt.y;
        rbX = pt.x, rbY = pt.y;
        for (int i = 1; i < polyLine.pointCount; i++) {
            BMKMapPoint pt = polyLine.points[i];
            if (pt.x < ltX) {
                ltX = pt.x;
            }
            if (pt.x > rbX) {
                rbX = pt.x;
            }
            if (pt.y > ltY) {
                ltY = pt.y;
            }
            if (pt.y < rbY) {
                rbY = pt.y;
            }
        }
        BMKMapRect rect;
        rect.origin = BMKMapPointMake(ltX , ltY);
        rect.size = BMKMapSizeMake(rbX - ltX, rbY - ltY);
        [_mapView setVisibleMapRect:rect];
        _mapView.zoomLevel = _mapView.zoomLevel - 0.3;
    }
    
    20 apple mach-O Linker Error
    063CD8D3-1CDC-4075-9FF8-C4ED502E58DF.png

    解决方法

    A2BA14E0-21A1-4EF6-9278-7ED64F4C8888.png
    21 Bundle display name
    43607807-15DB-4FB3-BAD7-674363D247D1.png

    解决方法

    A6A6FB6A-5CDD-47CD-9B2C-70FD9A2C5AF5.png

    22 真机能运行,archive报错

    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=129845&extra=page%3D1

    23 iOS地图SDK和导航SDK导致崩溃

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=115910&extra=page%3D1

    24百度地图SDK和导航SDK出现各种问题问题

    亲测 地图3.2.1 和导航SDK3.1.0 版本一起使用没问题

    25 定位paopaoView 取消

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=123943&extra=page%3D1

    26 闭合曲线绘制 (待测试)

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=131253&extra=page%3D1

    27 路线规划中添加箭头

    
    - (BMKOverlayView*)mapView:(BMKMapView *)map viewForOverlay:(id<BMKOverlay>)overlay
    {
    if ([overlay isKindOfClass:[BMKPolylineclass]]) {
    BMKPolylineView* polylineView = [[BMKPolylineViewalloc] initWithOverlay:overlay];
    polylineView.lineWidth = 5;
    polylineView.isFocus = YES;// 是否分段纹理绘制(突出显示),默认YES
    //加载分段纹理图片,必须否则不能进行分段纹理绘制
            [polylineView loadStrokeTextureImages:
             [NSArrayarrayWithObjects:[UIImageimageNamed:@"road_blue_arrow.png"],
              [UIImageimageNamed:@"road_green_arrow.png"],
              [UIImageimageNamed:@"road_red_arrow.png"],nil]];
    return polylineView;
        }
    return nil;
    }
    

    28 地图改变显示范围

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=131560&extra=page%3D1

    29定位点自定义气泡(待验证)

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=131467&extra=page%3D1

    30拖动marker 获取到拖动后最新的状态

    /**
     *拖动annotation view时,若view的状态发生变化,会调用此函数。ios3.2以后支持
     *@param mapView 地图View
     *@param view annotation view
     *@param newState 新状态
     *@param oldState 旧状态
     */
    - (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
       fromOldState:(BMKAnnotationViewDragState)oldState;
    

    31地图滑动手势与侧滑手势冲突

    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=132642&extra=page%3D1

    相关文章

      网友评论

        本文标题:iOS百度地图SDK问题

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