MKDirections绘制导航路线


//
//  ViewController.m
//  DrawNavLine
//
//  Created by hq on 16/5/18.
//  Copyright © 2016年 hanqing. All rights reserved.
//

#import "ViewController.h"
#import <MapKit/MapKit.h>

@interface ViewController () <MKMapViewDelegate>

@property(nonatomic,strong) CLGeocoder *geo;

@property (weak, nonatomic) IBOutlet MKMapView *mapView;

- (IBAction)startNav;

@end

@implementation ViewController


-(CLGeocoder *)geo{
    
    if (_geo==nil) {
        _geo=[[CLGeocoder alloc]init];
    }
    return _geo;
}


- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    self.mapView.delegate=self;
}

//开始导航
- (IBAction)startNav {
    
    [self.geo geocodeAddressString:@"shanghai" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

        MKPlacemark *mkPlaceMark=[[MKPlacemark alloc]initWithPlacemark:placemarks.firstObject];
        
        //起点
        MKMapItem *beigin=[[MKMapItem alloc]initWithPlacemark:mkPlaceMark];
        
        [self.geo geocodeAddressString:@"北京" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
            
            MKPlacemark *mkEndPlaceMark=[[MKPlacemark alloc]initWithPlacemark:placemarks.firstObject];
            
            //终点
            MKMapItem *end=[[MKMapItem alloc]initWithPlacemark:mkEndPlaceMark];
            
            //开始计算
            [self beginCalculate:beigin endItem:end];
            
        }];
    }];
}


-(void) beginCalculate:(MKMapItem *) beginItem endItem:(MKMapItem *) endItem{
    
    MKDirectionsRequest *request=[[MKDirectionsRequest alloc]init];
    
    [request setSource:beginItem];
 
    [request setDestination:endItem];
    
    MKDirections *directions=[[MKDirections alloc]initWithRequest:request];
    
    //开始计算位置距离
    [directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
        
        if (error) {
            NSLog(@"出错了");
            return;
        }
        
        [response.routes enumerateObjectsUsingBlock:^(MKRoute * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            
            NSLog(@"%@",obj.name);
            
            /**
             *  MKDirectionsResponse
             routes : 路线数组MKRoute
             
             */
            /**
             *  MKRoute
             name : 路线名称
             distance : 距离
             expectedTravelTime : 预期时间
             polyline : 折线(数据模型)
             steps
             */
            /**
             *  steps <MKRouteStep *>
             instructions : 行走提示
             */

            
            MKPolyline *polyline=obj.polyline;
            
            [self.mapView addOverlay:polyline];
            
            
        }];
    }];
}

/**
 *  获取对应的图层渲染
 *
 *  @param mapView 地图
 *  @param overlay 覆盖层数据模型
 *
 *  @return 图层渲染
 */

-(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay{
    
    NSLog(@"hah");
    
    //创建一个渲染对象
    MKPolylineRenderer *render=[[MKPolylineRenderer alloc]initWithOverlay:overlay];
    
    render.lineWidth=6;
    
    //注意,必须要设置该颜色,不然会看不到线------------------------------------
    render.strokeColor=[UIColor orangeColor];
    
    return render;
}



- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    
}

@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
哇塞电影网址大全,吸取了以往各种导航网址程序的优点,最大程度的完善优化了各项功能和指标,采用谁对我站贡献大,我站也给予他宣传和展示的机会就越多的流量交换模式,只要您在本系统注册登记您的网址,然后在你网站做好我站连接或是挂上流量互换代码,每次您网站有用户访问到放置我站流量互换代码的站,那么你的网站将在最近入站以及你网站所在分类的第一位置!连接双方公正平等。系统前台简介:1.采用ASP+ACCESS架构,安全稳定,防注入功能;2.新闻文章发布功能支持无限级分类,方便自由;3.数据库经过防下载等安全处理,后台可超强命名,随意改动;4.每来访一个IP,来访网站就会自动排到第一,当天来路不同,显示颜色也不同,鼓励点入;5.前台统计数据调用,最新点入网站调用,未审核网站调用等;6.申请加入电影网址大全的网站按最后点进的时间排序首页和分类显示链接;7.分类以昨日点入时间为准,每晚十二点后生成静态;8.每来访一个IP,就会自动排到第一,当天来路次数不同,显示颜色也不同:有1次即显示,10次即套蓝色,30次即套红色加粗;9.首页白天3分钟,晚上5分钟自动更新一次,全站24小时手动更新一次;10.站内搜索功能,方便用户找到自己想要的网址;11.程序全面优化和升级,增强对搜索引擎的收录功能;12.流量互换功能,最大程度互换流量。系统后台功能详细说明:管理目录:admin,管理员用户名:n3n5,密码:n3n5com网站管理系统:1.网站基本信息,说明:里面设置,网站标题,LOGO,关键词,统计代码,版权信息!2.图片广告管理,说明:网站所有图片广告修改的地方,在首页可以看到所有图片广告,其中ads09是在网址内页显示!其它的都在首页和分类页有位置显示!3.顶部文字广告管理,说明:这里的文字,首页,特别推荐里面显,分类首页和分类页,记得,改后要在生成html管理里,生成一下首页!4.添加商家文字广告,说明:这里的文字,首页,中间部分,广告,那里的文字,在图片广告下面,一行七个!5.管理商家文字广告,说明:修改删除商家文字广告!6.管理帐号设置,说明:管理员用户名,密码的修改!9.客户留言管理,说明:留言本的回复,修改和删除!网站分类管理:1.类别添加管理,说明:分类添加删除管理,这里说明一下添加时有首页显示,导航就显示在首页上面,添加时选酷站显示,就在首页下面酷站里调用!2.类别删除管理,说明:删除不想要的分类!3.类别修改管理,说明:分类修改里,有显示,[首][酷]就是上面说明的首页显示,和酷站显示!网址管理系统:1.添加网址链接,说明:用于后台管理员手工添加网址2.添加实用查询|管理实用查询,说明:添加后在首页实用工具里显示!3.添加名站导航|管理名站导航,说明:添加后在首页名站导航里显示!4.添加友情链接|管理友情链接,说明:添加后在首页下部友情链接里显示!5.查看所有的网址,说明:包含站长加的和用户自己加的!6.站长加入的网址,说明:站长加入的网址!7.用户加入已审核,说明:用户提交的网址,并通过审核的,说明一下,本站有自动审核功能,开启关闭,在 网站管理系统-网站基本信息里设置!8.用户加入未审核,说明:用户提交的网址没审的,也就是没有作上本站链接的,或是作上链接没有点击到本站的!9.有来路入未审核,说明:一般用户认为,有来路就应当审核了,这个功能,是为了关闭自动审核而设计的,手工审核的不管有没有来路,都要站长审核的!10.加入黑名单网站,说明:加入黑名单的网址,点击这个导航,进入后,可以删除,和取消黑名单!11.总来路小于五次,说明:本设计用于客户作上本站链接,点入量过小,没有贡献的站,可以多选删除!12.常用维护共三项,说明:(1)开通所有未审的,一般不用这个,如果想要提交的站就收录,可以点击这个功能!(2)删除重复的网站,有一些站长提交过了,又提交了多次或是用二级域名提交,这样可以删除重复的网站!(3)删除所有未审核的站点,(4)清空所有网址,这个点时要注意,点击了,所有网址就都没有了!13.站内报错,说明:用户在网址详提交网址打不开的情况页点击的!14.站内网站搜索,说明:可以按名称,按网址,按分类,按ID号进行搜索! 模版修改管理:首 页 模版修改 分类页模版修改 关于本站页模板 (这里建议会一些HTML知识的站长修改,如果不会不建议修改以免出错,修改时一定要备份)生成html管理:生成分类页面 生成生成主页及其他页 重置统计数据 清除昨天点入数据 清除总点入数据 清除总点出数据 (常用到上面两个,生成分类页和生成主页,也主是首页!每当后台修改了内容时,要马上显示出来就要手动生成,因为前台自动生成要3分钟!)数据库管理:备份数据库 恢复数据库 压缩数据库 (常用到备份数据库,定期备份一下,免费数据库出错找不回来数据!)哇塞电影网址
V2.0 (2012年04月15日发布) ------------------------------------------------------------------------ ├增加一套简洁的绿色风格模板,可后台自由切换; ├加入后台同步官方数据功能,无需手动更新数据即可运营网站; ├增加城市导航模块,可制城市导航页面; ├增加首页根据IP判断显示城市名站; ├更新专题管理功能,解决无法删除专题分类的bug; ├优化模板管理,全站专题及分类都可自定义模板; ├优化首页样式,修正自动隐藏分类的bug; ├优化数据存储,采用数据库替代文本存储 ├修复搜索引擎添加补充字段会被强制加上转义符的bug; 安装说明: 25VV网址导航(www.25vv.com)系统是一套采用PHP MySQL(目前只支持MySQL数据库)方式运行的开源软件程序,安装时请确认您的空间支持IIS PHP Mysql或Apache PHP Mysql等运行环境,且PHP和Mysql版本匀为5.0X以上,或者您已经在本地成功安装了PHP MySQL运行环境。如果您购买的是虚拟主机(空间)无须自己搭建这样的运行环境,只需购买空间时选择购买这样的运行环境即可。 1. 解压把目录下的所有文件上传至空间根目录下,推荐使用FlashFXP工具通过ftp传到服务器上 Linux 或 Freebsd 服务器下安装,使用ftp工具中的二进制模式上传。同时确认以下目录或文件属性为(777) 可写模式。(Win 主机的可以略过此步) install static/js admin/data admin/data/backup admin/data/cache admin/data/conf admin/data/db admin/data/session admin/data/lang admin/data/log admin/data/plan admin/data/update admin/tpls/cache admin/tpls/compile admin/tpls/tpls/admin admin/tpls/tpls/main admin/config/cfg_database.php 2. 通过浏览器访问 http://您的域名/安装目录/install/, 根据提示填写 mysql 配置信息、管理员账号信息 3. 程序将自动导入25VV数据库,并生成您刚才的配置信息 4. 若该目录有修改权限,将自动删除install 目录,否则请您自行删除 install 目录 5.进入管理后台系统管理>>>数据管理>>>数据导入 6. 进入管理后台系统管理>>>资料设置>>>设置站点的相关资料>>>然后转到>>>静态生成>>>一键生成全站。 7. 完成安装! 特别注意: 1、 建议将“后台管理系统”的目录名由默认的 admin 修改为其他目录名 步骤: (1)、修改根目录下的 admin 目录名为新的目录名. (2)、修改根目录下的 init.php 文件第 10 行,将该行最后一个引号里的 admin 修改为新的目录名. 2.若要在前台显示修改结果,需要在后台生成相应的静态页面.
Cesium是一种功能强大的虚拟地球平台,可以用来绘制飞行路线。在Cesium中,我们可以通过以下步骤来实现飞行路线绘制: 1. 创建一个3D场景:在Cesium中,我们可以创建一个3D地球场景,以便于我们进行飞行路线绘制和可视化。 2. 添加地图数据源:Cesium支持多种地图数据源,可以选择合适的地图背景作为底图。我们可以添加高分辨率的卫星地图或者地形图,以增强飞行路线的可视化效果。 3. 绘制飞行路线:在Cesium中,可以通过添加实体来绘制飞行路线。可以使用经纬度坐标点来定义飞行路线的路径,并设置相应的属性,如线条颜色、宽度等。 4. 添加标记点:在飞行路线上添加标记点可以增加交互性和可视化效果。可以在路线中添加起始点、终点或者其他重要地点的标记,以便于用户更清晰地识别和理解飞行路线。 5. 飞行动画效果:Cesium还提供了强大的飞行动画功能,可以使得飞行路线在地球上动态演示,并且可以自定义速度和飞行路径等参数。 6. 更多高级功能:除了基本的绘制功能,Cesium还提供了更多高级功能,如飞行路线的编辑、标记点的交互操作、飞行路线导航等。这些功能可以进一步提升用户的体验和使用效果。 总之,Cesium是一款功能强大的虚拟地球平台,通过其提供的丰富功能和灵活性,我们可以方便地绘制飞行路线,并进行交互式的演示和展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值