[ios]MKMapView中使用MKPolyline画线
2015-08-05 15:42
627 查看
参考:http://blog.sina.com.cn/s/blog_9e8867eb0101dt76.html
首先在MapView.h中
在MapView.m 中
调用MapView
首先在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绘图
- iOS NSMutableData
- iOS开发之倒计时
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- ios 单例(arc版本)
- iOS开发之时间戳的转化
- iOS开发 ARC和MRC混编相关
- iOS之身份证的正则校验
- iOS 【transform属性】-通过tramsform熟悉个可以修改对象的平移、缩放比例和旋转角度
- iOS 知识点
- IOS中的block和retain cycle
- Passing data between view controller.
- iOS frame\center\bounds属性
- iOS 9应用开发教程之iOS 9新特性
- iOS 9应用开发教程之iOS 9新特性
- iOS beginAnimations 做首尾动画
- ios 修改工程名称,程序名称(xcode6.3)
- 谈谈iOS中Categories(分类)、Extensions(类扩展)和继承的区别
- (L1) AudioService AudioServiceBroadcastReceiver