您现在的位置:

概述

四维地图导航客户端应用产品开发SDK【Navinfo Navigation SDK for iOS】是一套基于iOS 8.0版本及以上操作系统的地图导航客户端应用产品开发工具包。用户可以轻松构造地图导航基础上的各种交互式应用产品。四维地图导航客户端应用产品开发SDK提供了3D地图显示与操作、位置信息搜索、导航算路、导航过程管理等基本功能,满足不同用户的各种应用需求。

功能介绍与体验

  • 模拟导航

                        (完整代码详见 SDKDemo 工程的 MBNaviController.m)
                        //  实时导航
                        if (naviMapView == nil) { //  地图不存在
                            naviMapView=[[MBMapView alloc]initWithFrame:(0,120.0,kMainScreenSizeWidth, kMainScreenSizeHeight - 120.0 - 55.0)];
                            [self.view addSubview:naviMapView];
                            //  创建车标图层
                            MBModelOverlay *car = [[MBModelOverlay alloc] initWithFilePath:@"res/red_car.obj"];
                            carHead = MBNaviHeadNorthUp;
                        }
                        //  初始化导航模块
                        MBNaviSession *naviSession = [MBNaviSession sharedInstance];
                        naviSession.enableSound = YES;
                        naviSession.delegate = self;
                        //  路线计算完成的回调函数
                        - (void)naviSessionResult:(MBRouteCollection *)routes {
                            //  算路完成
                            //  得到routes集合,此集合中的routeBases,在发起导航获取数据时需用到
                            for (MBOverlay *overlay in naviMapView.overlays) {
                                [naviMapView removeOverlay:overlay];
                            }
                            if (routes.routeBases.count > 0) {
                                MBRouteOverlay *routeOverlay = nil;
                                for (MBRouteBase *base in routes.routeBases) {
                                    routeOverlay = [[MBRouteOverlay alloc] initWithRoute:base.getRouteBase];
                                    routeOverlay.clickEnable = YES;
                                    [naviMapView addOverlay:routeOverlay];
                                }
                            }
                            [naviSession startSimulation];
                        }
                        - (void)naviSessionTracking:(MBNaviSessionData *)sData {
                            NSLog(@"当前车的位置:%d,%d",sData.carPos.x,sData.carPos.y);
                            NSLog(@"当前车头朝向:%ld",(long)sData.carOri);
                            NSLog(@"当前建议比例尺:%ld",(long)sData.suggestedMapScale);
                            NSLog(@"是否有下一个转弯:%@,还有%ld米转弯",sData.hasTurn?@"是":@"没有",(long)sData.turnIconDistance);
                            NSLog(@"当前转向标ID:%ld",(long)sData.turnIcon);
                            NSLog(@"转弯之后的道路名称:%@",sData.nextRoadName);
                            NSLog(@"当前所在道路名称:%@",sData.roadName);
                            NSLog(@"\n");
                        }
                    
  • HUD导航模式

  • 多路线规划

返回顶部