参考:http://blog.sina.com.cn/s/blog_9e8867eb0101dt76.html

首先在MapView.h中

#import <MapKit/MapKit.h>

@interface MapView : UIView<MKMapViewDelegate> {

	MKMapView* mapView;

}

@property (nonatomic, retain) MKMapView* mapView;
-(void) drawline: (NSArray*)nowRoadArrary;
@end

在MapView.m 中

#import "MapView.h"

@implementation MapView

@synthesize mapView;
-(void) drawline: (NSArray*)nowRoadArrary
{
// 将array中的信息点转换成CLLocationCoordinate2D数组
CLLocationCoordinate2D coords[nowRoadArrary.count]; int i = 0;
for (NSDictionary *newDic in nowRoadArrary) {
CLLocationCoordinate2D annotationCoord;
id lat = [newDic objectForKey:@"latitude"];
annotationCoord.latitude = [lat doubleValue];
annotationCoord.longitude = [[newDic objectForKey:@"longitude"] doubleValue];
coords[i] = annotationCoord;
i++;
} //用MKPolyline画线并作为overlay添加进mapView
MKPolyline *cc = [MKPolyline polylineWithCoordinates:coords count:nowRoadArrary.count];
[mapView addOverlay:cc];
} //完成MapView的delegate
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKPolyline class]])
{
      //如果有MKPloylineView的overlay,将其画出
MKPolylineView *lineview=[[MKPolylineView alloc] initWithOverlay:overlay] ;
//路线颜色
lineview.strokeColor=[UIColor colorWithRed:69.0f/255.0f green:212.0f/255.0f blue:255.0f/255.0f alpha:0.9];
lineview.lineWidth=8.0;
return lineview;
}
return nil;
}

调用MapView

- (void)viewDidLoad
{
//初始化
[super viewDidLoad];
MapView *mapView = [[MapView alloc] initWithFrame:
CGRectMake(0, 244, self.view.frame.size.width,800)] ;
[self.view addSubview:mapView]; //调用
NSDictionary *myplace[4]; myplace[0] = [NSDictionary dictionaryWithObjectsAndKeys:
@"32.0816",@"latitude",
@"118.892",@"longitude",
nil]; myplace[1] = [NSDictionary dictionaryWithObjectsAndKeys:
@"32.0856",@"latitude",
@"118.892",@"longitude",
nil];
myplace[2] = [NSDictionary dictionaryWithObjectsAndKeys:
@"32.0716",@"latitude",
@"118.92",@"longitude",
nil];
myplace[3] = [NSDictionary dictionaryWithObjectsAndKeys:
@"32.0766",@"latitude",
@"118.982",@"longitude",
nil]; NSArray *ary = [[NSArray alloc]initWithObjects:myplace[0],myplace[1],myplace[2],myplace[3], nil]; [mapView drawline:ary];
}

[ios]MKMapView中使用MKPolyline画线的更多相关文章

  1. 画线动画——SVG版和纯CSS版

    概述 我们常常在网站中看到一些画线的动画效果,非常炫酷,大多数这种画线动画效果是通过SVG实现的,也有不少是用纯css实现的,下面我总结了一下这2种方法,供以后开发时参考,相信对其他人也有用. 参考资 ...

  2. Android中Path类的lineTo方法和quadTo方法画线的区别

    转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...

  3. iOS小画板画线总结

    一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5 ...

  4. [修复] Firemonkey 画线问题(Android & iOS 平台)

    问题:官方 QC 的一个 Firemonkey 移动平台画线问题: RSP-14309: [iOS & Android] Delphi 10.1 Berlin - drawing proble ...

  5. IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

    // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affec ...

  6. android布局中画线的方法

    1.自定义View画线 http://fariytale.iteye.com/blog/1264225 下面介绍几种简单的方法 2.textView和View画直线 <TextView andr ...

  7. H5中画图标签Canvas---画矩形,画线,画圆,渐变色,图形载入

    一: 1.鼠标监视坐标值 <!DOCTYPE html> <head> <meta charset=UTF-8> <title>canvas的演示< ...

  8. Vue中使用ECharts画散点图加均值线与阴影区域

    [本文出自天外归云的博客园] 需求 1. Vue中使用ECharts画散点图 2. 在图中加入加均值线 3. 在图中标注出阴影区域 实现 实现这个需求,要明确两点: 1. 知道如何在vue中使用ech ...

  9. android中实现在ImageView上随意画线涂鸦

    我实现的思路: 1.继承ImageView类 2.重写onTouchEvent方法,在ACTION_MOVE(即移动时),记录下所经过的点坐标,在ACTION_UP时(即手指离开时,这时一条线已经画完 ...

随机推荐

  1. 机器学习理论基础学习3.1--- Linear classification 线性分类之感知机PLA(Percetron Learning Algorithm)

    一.感知机(Perception) 1.1 原理: 感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型. 假设训练数据集是线性可分的,感知机学习的目标 ...

  2. 实体框架 Code First

    原文:https://msdn.microsoft.com/zh-cn/en-zn/data/jj591621

  3. -webkit-line-clamp超过两行就出现省略号

    -webkit-line-clamp 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中. 限制在一个块元素显示的文本的行数. 为了实现该 ...

  4. UVM中的regmodel建模(三)

    总结一下UVM中的寄存器访问实现: 后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block ...

  5. SV中的覆盖率

    SV采用CRT的激励形式,而判断验证进度的标准也就是覆盖率(coverage). 覆盖率的两种指定形式:显式的,直接通过SV来指定出的,如SVA,covergroup. 隐式的,在验证过程中,随&qu ...

  6. discuz完善用户资料任务不能完成的解决方法

    再来吐槽下discuz. 虽然很很很不想用discuz,但是,,,,..便利性以及各种原因,还得使用. 问题:discuz-运营-任务-完善资料,,,,,,变更部分后无法完成任务. 解决方式如下 原因 ...

  7. VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)

    前面两节鸡啄米讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件. 标签控件简介 标签控件也比较常见.它可以把多个页面集成到一个窗口中,每个页面对应 ...

  8. Linux服务器配置---ftp配置

    FTP其他配置 在配置文件中,还有一些关于vsftpd的其他设置,这里列出来 # Example config file /etc/vsftpd/vsftpd.conf # Allow anonymo ...

  9. 如何使用Unity制作虚拟导览(一)

    https://www.cnblogs.com/yangyisen/p/5108289.html Unity用来制作游戏已经是目前市场上的一个发展趋势,而且有越来越多的公司与开发者不断的加入,那么Un ...

  10. js如何模拟multipart/form-data类型的请求

    var temp = document.createElement('form'); temp.action = this.data.testURL; temp.method = 'post'; te ...