博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位置与地图(三)给地图加入覆盖层
阅读量:5065 次
发布时间:2019-06-12

本文共 2616 字,大约阅读时间需要 8 分钟。

- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.    self.mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];    self.mapView.mapType = MKMapTypeStandard;    self.mapView.scrollEnabled = YES;    //  设置地图不可旋转    self.mapView.rotateEnabled = NO;    self.mapView.zoomEnabled = YES;    self.mapView.showsUserLocation = YES;        //  设置地图中心的经纬度    CLLocationCoordinate2D center = {39.910650,116.47030};    //  设置地图显示的范围,数值越小细节越清楚    MKCoordinateSpan span = {0.01,0.01};    //  二者合一设置显示区域    MKCoordinateRegion region = {center,span};    [self.mapView setRegion:region animated:YES];    [self.view addSubview:self.mapView];        UILongPressGestureRecognizer *longGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];    [self.mapView addGestureRecognizer:longGesture];        //  设置代理    self.mapView.delegate = self;    }- (void)longPress:(UILongPressGestureRecognizer *)longGesture{        //  获取长按点得坐标    CGPoint postion = [longGesture locationInView:self.mapView];    //  将长按点坐标转换为经纬度    CLLocationCoordinate2D coord2D = [self.mapView convertPoint:postion toCoordinateFromView:self.mapView];    //  创建一个圆形覆盖层对象    MKCircle *circle = [MKCircle circleWithCenterCoordinate:coord2D radius:100];    //  将单个的覆盖层加入到指定的层级    [self.mapView addOverlay:circle level:MKOverlayLevelAboveLabels];    }//  该方法返回的MKOverlayRenderer负责绘制覆盖层控件- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id
)overlay{ MKCircle *circle = (MKCircle *)overlay; // iOS7之后,推荐使用MKXxxRenderer来负责渲染覆盖层控件 MKCircleRenderer *circleRend = [[MKCircleRenderer alloc] initWithCircle:circle]; circleRend.alpha = 0.3; // 填充颜色 circleRend.fillColor = [UIColor blueColor]; // 边框颜色 circleRend.strokeColor = [UIColor redColor]; return circleRend;}/*********iOS7新增的MKTileOverlay覆盖层*******************************************- (void)longPress:(UILongPressGestureRecognizer *)longGesture{ // 指定本地图片覆盖 NSURL *url = [[NSBundle mainBundle] URLForResource:@"hmt" withExtension:@"png"]; MKTileOverlay *tileOverlay = [[MKTileOverlay alloc] initWithURLTemplate:[url description]]; [self.mapView addOverlay:tileOverlay]; }// 该方法返回的MKOverlayRenderer负责绘制覆盖层控件- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id
)overlay{ MKTileOverlayRenderer *tileRender = [[MKTileOverlayRenderer alloc] initWithOverlay:(MKTileOverlay *)overlay]; tileRender.alpha = 0.2; return circleRend;}*/

转载于:https://www.cnblogs.com/yangykaifa/p/7159779.html

你可能感兴趣的文章
Kubernetes 运维学习笔记
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
日志框架--(一)基础篇
查看>>
关于源程序到可运行程序的过程
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
【贪心+DFS】D. Field expansion
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
ibatis学习笔记
查看>>
18-ES6(1)
查看>>
poj1611 简单并查集
查看>>