参考: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. 1.keras实现-->自己训练卷积模型实现猫狗二分类(CNN)

    原数据集:包含 25000张猫狗图像,两个类别各有12500 新数据集:猫.狗 (照片大小不一样) 训练集:各1000个样本 验证集:各500个样本 测试集:各500个样本 1= 狗,0= 猫 # 将 ...

  2. 3:3 OGNL 表达式一

    一: 用例 (直接链式访问属性名,其实内部还是的调用set,get方法实现数据的流动); 二: 注意:表达式里面是没有方法的,只能点属性, 访问列表: (访问的时候加上#,表示访问非值栈的内容.) 访 ...

  3. 很全的linux网络编程技巧

    本文转载自:http://www.cnblogs.com/jfyl1573/p/6476607.html 1. LINUX网络编程基础知识 1 1.1. TCP/IP协议概述 1 1.2. OSI参考 ...

  4. Cannot find JRE '1.8'

  5. 2018 Java线程热门面试题,你知道多少?

    面试,难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他 ...

  6. JSmpeg-用JavaScript编写的视频播放器

    使用说明:https://github.com/phoboslab/jsmpeg ffmpeg -i rtmp://abc/ccc/111 -f mpegts -codec:v mpeg1video ...

  7. C++ 细小知识点

    1. C++ 拷贝构造函数参数为const类型 原因:因为复制构造函数是用引用方式传递复制对象,引用方式传递的是地址,因此在构造函数内对该引用的修改会影响源对象,防止源对象被修改,就要把参数类型设为c ...

  8. 剑指Offer——跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路分析 这个问题可以先从简单开始考虑,台阶只有1阶,只有1种跳法,台阶有2阶,有2种跳法:一种两 ...

  9. Java继承相关知识总结

    Java继承的理解 一.概念: 一个新类从已有的类那里获得其已有的属性和方法,这种现象叫类的继承 这个新类称为子类,或派生类,已有的那个类叫做父类,或基类 继承的好处:代码得到极大的重用.形成一种类的 ...

  10. C# 判断网络文件是否存在

    #region 判断网络文件是否存在 //bool result = false;//下载结果 //string fileUrl = "http://localhost:7070/FileU ...