美文网首页
地图的覆盖层

地图的覆盖层

作者: 1073d142fdd4 | 来源:发表于2017-06-12 08:17 被阅读0次

头文件以及库类

具体的实现方法

@property (nonatomic, strong) MKMapView* mapView;

self.mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];

self.mapView.zoomEnabled = YES;

// 设置地图可滚动

self.mapView.scrollEnabled = YES;

// 设置地图不可旋转

self.mapView.rotateEnabled = NO;

// 设置地图显示用户位置

self.mapView.showsUserLocation = YES;

[self.view addSubview:self.mapView];

[self locateToLatitude:23.126272 longitude:113.395568];

// 创建一个手势处理器,用于检测、处理长按手势

UILongPressGestureRecognizer* gesture = [[UILongPressGestureRecognizer

alloc]initWithTarget:self action:@selector(longPress:)];

[self.mapView addGestureRecognizer:gesture];

self.mapView.delegate = self;

以下是自定义方法以及系统方法

- (void)locateToLatitude:(CGFloat)latitude longitude:(CGFloat)longitude{// 设置地图中心的经、纬度CLLocationCoordinate2D center = {latitude , longitude};// 设置地图显示的范围,MKCoordinateSpan span;// 地图显示范围越小,细节越清楚span.latitudeDelta = 0.01;span.longitudeDelta = 0.01;// 创建MKCoordinateRegion对象,该对象代表了地图的显示中心和显示范围。MKCoordinateRegion region = {center,span};// 设置当前地图的显示中心和显示范围[self.mapView setRegion:region animated:YES];}- (void) longPress:(UILongPressGestureRecognizer*)gesture{// 获取长按点的坐标CGPoint pos = [gesture locationInView:self.mapView];// 将长按点的坐标转换为经度、维度值CLLocationCoordinate2D coord = [self.mapView convertPoint:postoCoordinateFromView:self.mapView];// 创建MKCircle对象,该对象代表覆盖层    MKCircle* circle = [MKCircle circleWithCenterCoordinate:coord radius:100];    // 添加MKOverlay[self.mapView addOverlay:circle level:MKOverlayLevelAboveLabels];}// MKMapViewDelegate协议中的方法,该方法返回的MKOverlayRenderer负责绘制覆盖层控件- (MKOverlayRenderer *)mapView:(MKMapView *)mapViewrendererForOverlay:(id)overlay

{

MKCircle * circle = (MKCircle*)overlay;

// 创建一个MKCircleRenderer对象

MKCircleRenderer* render = [[MKCircleRenderer alloc] initWithCircle:circle];

// 设置MKCircleRenderer的透明度

render.alpha = 0.5;

// 设置MKCircleRenderer的填充颜色和边框颜色

render.fillColor = [UIColor blueColor];

render.strokeColor = [UIColor redColor];

return render;

}

相关文章

  • iOS 绘制导航路线

    一、简介 路线也是一个覆盖层 理论指导:在地图上操作覆盖层,其实操作的是覆盖层的数据模型 添加覆盖层:在地图上添加...

  • 绘制导航路线

    绘制导航路线 1. 理论支持 路线也是一个覆盖层 在地图上操作覆盖层,其实操作的是覆盖层的数据模型1. 添加覆盖层...

  • 地图的覆盖层

    头文件以及库类 @property (nonatomic, strong) MKMapView* mapView;...

  • 地图(二)之MapKit

    MapKit 用于地图展示,例如大头针,路线,覆盖层展示等(着重界面展示) 一、MKMapView MapKit通...

  • iOS地图MapKit和定位CoreLocation(下) --

    一些简单认识:与地图相关的一个库是MapKit ,MapKit是用于地图展示的,例如大头针,路线、覆盖层展示等(着...

  • Swift MapKit的使用

    MapKit :用于地图展示,例如大头针,路线、覆盖层展示等(着重界面展示) 使用步骤 导入主头文件 import...

  • 地图应用3《高德地图覆盖层》

    #import#import "FKViewController.h"@interface FKViewContr...

  • Osmdroid笔记(二)覆盖图层 Overlay的基本使用

    Osmdroid 是一款完全开源的地图基本操作SDK,包含了多种的基础图层:覆盖层(overlay)、点图层(可包...

  • MapKit

    MapKit框架的基本使用 用于地图展示,例如大头针,路线、覆盖层展示等(着重界面展示)导入主头文件 #impo...

  • iOS 原生地图添加图片覆盖层

    自定义CustomOverlay: .h @interface CustomOverlay : NSObject<...

网友评论

      本文标题:地图的覆盖层

      本文链接:https://www.haomeiwen.com/subject/kankqxtx.html