只要用于获取用户位置都要取得用户授权

#import "ViewController.h"

#import <MapKit/MapKit.h>

@interface ViewController ()<MKMapViewDelegate>

@property(nonatomic,strong)UITextField*destination;

@property(nonatomic,strong)MKMapView*mapView;

@property(nonatomic,strong)CLLocationManager *mgr;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.mgr=[[CLLocationManager alloc]init];

[self.mgr requestAlwaysAuthorization];

MKMapView *map=[[MKMapView alloc]init];

map.frame=self.view.bounds;

self.mapView=map;

[self.view addSubview:map];

self.mapView.delegate=self;

UITextField *field=[[UITextField alloc]init];

field.frame=CGRectMake(10, 20, 60, 30);

self.destination=field;

field.text=@"西安";

[self.view addSubview:field];

[self drawLine];

}

//划线

-(void)drawLine

{

[self.view endEditing:YES];

CLGeocoder *geo=[[CLGeocoder alloc]init];

[geo geocodeAddressString:self.destination.text completionHandler:^(NSArray *placemarks, NSError *error) {

if (placemarks.count==0||error) {

return ;

}

//获取目的地item 和当前的位置

CLPlacemark *pm=[placemarks firstObject];

MKPlacemark *mkp=[[MKPlacemark alloc]initWithPlacemark:pm];

MKMapItem *destinationItem=[[MKMapItem alloc]initWithPlacemark:mkp];

MKMapItem *userItem=[MKMapItem mapItemForCurrentLocation];

//1创建路线请求

MKDirectionsRequest*request=[[MKDirectionsRequest alloc]init];

//设置起点终点

request.source=userItem;

request.destination=destinationItem;

//创建路线管理器

MKDirections *direction=[[MKDirections alloc]initWithRequest:request];

//划线

[direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {

for (MKRoute*route in response.routes) {

//拿到线

MKPolyline *line=route.polyline;

//添加到地图

[self.mapView addOverlay:line];

}

}];

}];

}

-(MKOverlayRenderer*)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay

{

//创建渲染器

MKPolylineRenderer *render=[[MKPolylineRenderer alloc]initWithOverlay:overlay];

//设置线段的颜色

render.strokeColor=[UIColor redColor];

//设置线宽

render.lineWidth=5;

return render;

}

@end

MapKit地图划线的更多相关文章

  1. IOS6 IOS7 Mapkit draw Rout(地图划线)

    IOS7  比较简单 CLLocationCoordinate2D  _start2D; CLLocationCoordinate2D  _end2D; NSArray *_routes; IOS6 ...

  2. iOS MapKit地图

    地图框架:#import <MapKit/MapKit.h> 基本属性和方法: 属性: 地图类视图:MKMapView 地图类型:MKMapType mapType 地图旋转:rotate ...

  3. IOS原生地图与高德地图

    原生地图 1.什么是LBS LBS: 基于位置的服务   Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位  ...

  4. iOS之原生地图与高德地图

    原生地图 1.什么是LBS LBS: 基于位置的服务 Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位 2. ...

  5. iOS原生地图与高德地图的使用

    原生地图 1.什么是LBS LBS: 基于位置的服务 Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位 2. ...

  6. iOS完整学习步骤

    一  C语言 1.1基本数据类型和基本运算 1.2 函数 数组 字符串 指针 1.3 预处理指令 1.4结构体 枚举 1.5 文件操作 内存管理 二 Objective - C 2.1 面向对象 2. ...

  7. CoreLocation框架的使用

    CoreLocation框架使用 一.地图和定位的简介 1.应用场景 周边:找餐馆/找KTV/找电影院(团购APP) 导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达(地图APP) 2 ...

  8. iOS框架介绍

    iOS框架介绍      Cocoa Touch   GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游 ...

  9. Frameworks(不定时更新)

    iOS8.4 Frameworks 更新时间:2015年8月17日 Accelerate iOS4.0引入了Accelerate框架,该框架的接口可用于执行数学.大数字以及DSP运算.和开发者个人编写 ...

随机推荐

  1. C#之new修饰符

    转自MSDN:https://msdn.microsoft.com/zh-cn/library/435f1dw2.aspx  new隐藏基类成员 在用作修饰符时,new关键字可以显式的隐藏从基类继承的 ...

  2. linux下用cronolog分割apache日志

    linux下用cronolog分割apache日志,大神莫拍砖,菜鸟留一记录,小白请默默转载.连linux登陆和vi编辑都不会的,请默默关闭此页面.入正题 说明:淡绿色底的为linux命令,其他的为备 ...

  3. hdu3652

    基本的数位dp,需要记录前面除以13的余数. #include <cstdio> #include <cstring> using namespace std; #define ...

  4. NSOJ A fairy tale of the two(最小费用最大流、SPFA版本、ZKW版本)

    n,m<=20,给两个n×m布尔矩阵,每次操作可将第一个矩阵的2个相邻元素互换.输出最少操作次数使得两个矩阵完全一样. 比赛的时候想过按照二分图完美匹配的类似做法构图,不过想到边太多以及卡各种题 ...

  5. HDU 4862 Jump(最小K路径覆盖)

    输入一个n×m网格图,每个结点的值为0-9,可以从任意点出发不超过k次,走完每个点且仅访问每个结点一次,问最终的能量最大值.不可全部走完的情况输出-1. 初始能量为0. 而结点(x,y)可以跳跃到结点 ...

  6. Mathematics:Find a multiple(POJ 2356)

    找组合 题目大意:给你N个自然数,请你求出若干个数的组合的和为N的整数倍的数 经典鸽巢原理题目,鸽巢原理的意思是,有N个物品,放在N-1个集合中,则一定存在一个集合有2个元素或以上. 这一题是说有找出 ...

  7. windows编程中关于“关闭窗口无法退出进程”的解决方法

    一般会出现如下两种情况 1.WinMain函数中,最后阶段接收消息队列循环中,调用的GetMessage函数参数提供错误 如: while (GetMessage(&msg,hwnd, 0, ...

  8. 【xml】利用OpenCV解析

    看到一篇讲的很清楚的博客:http://blog.csdn.net/jarvischu/article/details/8481510

  9. struts.xml配置详解

    struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件. 一下分别介绍一下几个struts.xml中常用到的标签 1.<include> 利用includ ...

  10. 开启后台 Service 闪退

    04-29 15:36:23.395: E/ActivityThread(15275): Performing stop of activity that is not resumed: {com.e ...