1.每次添加一个大头针系统会调用mapview的以下代理方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{//如果返回nil,就相当于没有任何处理,系统会按照原有的方式进行显示一开始定位到了之后会显示一个蓝色发光的大头针,这个大头针模型是系统的if (![annotation isKindOfClass:[HMAnnotation class]]) {//如果是系统的不做处理return nil;}
}

2.默认情况下MKAnnotationView是无法显示的(设置image才能显示), 如果想自定义大头针可以使用MKAnnotationView的子类MKPinAnnotationView

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{static NSString *identifier = @"anno";MKPinAnnotationView *annoView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];if (annoView == nil) {annoView = [[MKPinAnnotationView alloc] initWithAnnotation:nil reuseIdentifier:identifier];// 设置大头针的颜色annoView.pinColor = MKPinAnnotationColorPurple;// 设置大头针从天而降annoView.animatesDrop = YES;// 设置大头针标题是否显示,默认不显示annoView.canShowCallout = YES;// 设置大头针标题显示的偏移位annoView.calloutOffset = CGPointMake(-50, 0);// 设置大头针左边的辅助视图annoView.leftCalloutAccessoryView = [[UISwitch alloc] init];// 设置大头针右边的辅助视图annoView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeContactAdd];}// 注意: 如果你是使用的MKPinAnnotationView创建的自定义大头针, 那么设置图片无效,//因为系统内部会做一些操作, 覆盖掉我们自己的设置,这个时候只能使用父类MKAnnotationView// 3.给大头针View设置数据annoView.annotation = annotation;// 4.返回大头针Viewreturn annoView;
}

3.MKAnnotationView设置自定义的图片:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{static NSString *identifier = @"anno";MKAnnotationView *annoView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];if (annoView == nil) {annoView = [[MKAnnotationView alloc] initWithAnnotation:nil reuseIdentifier:identifier];// 设置大头针标题是否显示,默认不显示annoView.canShowCallout = YES;// 设置大头针标题显示的偏移位annoView.calloutOffset = CGPointMake(-50, 0);// 设置大头针左边的辅助视图annoView.leftCalloutAccessoryView = [[UISwitch alloc] init];// 设置大头针右边的辅助视图annoView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeContactAdd];}// 注意: 如果你是使用的MKPinAnnotationView创建的自定义大头针, 那么设置图片无效,//因为系统内部会做一些操作, 覆盖掉我们自己的设置,这个时候只能使用父类MKAnnotationViewannoView.image = [UIImage imageNamed:@"123"];// 3.给大头针View设置数据annoView.annotation = annotation;// 4.返回大头针Viewreturn annoView;
}

104 自定义大头针相关推荐

  1. ios点击大头针气泡不弹出_百度地图使用(二)自定义大头针和弹出气泡

    百度地图使用(二)自定义大头针和弹出气泡 (2014-08-19 10:37:09) 标签: 时尚 分类: IOS http://www.aichengxu.com/article/系统优化/1149 ...

  2. MKMapView自定义大头针

    如何自定义大头针 --设置 MKMapView 的代理 实现下面的代理方法,返回大头针控件 - ( MKAnnotationView *)mapView:( MKMapView *)mapView v ...

  3. ios点击大头针气泡不弹出_iOS高德地图之自定义大头针and泡泡view

    啥都不说先看效果图demo IMG_0270.PNG 先来说说如何自定义大头针以及点击大头针时弹出的泡泡view 一 : 自定义大头针 新建CustomAnnotationView 继承自MAAnno ...

  4. android 百度地图大头针,百度地图的集成 ---自定义大头针和弹窗

    前言:在上一篇中介绍了百度地图sdk的加入,以及定位功能的实现,在本篇将要介绍如何在地图上绘制线,效果如图所示 // // CustomPaopaotView.h // DaDa // // Crea ...

  5. html5地图大头针,iOS高德地图之自定义大头针and泡泡view

    啥都不说先看效果图demo IMG_0270.PNG 先来说说如何自定义大头针以及点击大头针时弹出的泡泡view 一 : 自定义大头针 新建CustomAnnotationView 继承自MAAnno ...

  6. android 百度地图大头针,百度地图自定义大头针大头针

    百度地图自定义大头针&&大头针 查看次数:6802 下载次数:938 上传时间:2016-08-01 大小:491 B # YWLJMapView 利用百度地图实现自定义大头针和气泡 ...

  7. Swift 高德地图自定义大头针自定义气泡

    自定义大头针和自定义气泡的代码官方文档上都写的很详细,我这里不再记录,这篇主要记录的是自定义气泡上面有一个按钮,点击按钮响应对应事件的场景,效果如下: 上面的车是自定义的大头针,点击大头针弹出自定义气 ...

  8. 百度地图开发之自定义大头针

    前言 前段时间老板在项目里加一个需求,类似ipadQQ版附近的人那样,显示附近所有的注册用户,话说去看QQ的附近的人时就知道肯定是自定的大头针了,说实话,一开始我是拒绝的,原因有两点:其一就是个人觉得 ...

  9. 微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置

    关键字:微信公众平台 自定义菜单 扫一扫 发图片 发地理位置 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-new-type.htm ...

  10. 定位 - MapKit-自定义大头针

    #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface PPAnnotation : NS ...

最新文章

  1. 服务器负载均衡(1)
  2. ubuntu16.04+cuda7.5
  3. RESTful API浅谈
  4. python3.5.2-python升级 (2.6升级到3.5)
  5. 手动写个类似的Spring MVC框架试试
  6. win10雷电3接口驱动_雷电3 ,高速又多用,尽在一个接口
  7. 基于Swoole和Redis实现的并发队列处理系统 1
  8. Java基础—序列化关键字transient
  9. Java基础笔记之数据类型
  10. Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的适用版本
  11. linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息
  12. 程序员刚入职很痛苦_在中国,程序员这行能干一辈子吗?
  13. 人工智能是计算机科学的一个分支下定义,阅读中有一篇叫人工智能什么,是说明文...
  14. CarMaker入门——【第1讲】运行TestRuns示例
  15. socket通信压力测试
  16. Vue 项目更新,浏览器不需强制刷新就可更新版本! 防止缓存
  17. java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha
  18. python3 [入门基础实战] 爬虫入门之刷博客浏览量
  19. 就小容量分布式光伏电站信息采集系统的设计与应用的研究方案 光伏电站建设 小型光伏电站 (安科瑞-须静燕)
  20. P2916 [USACO08NOV]Cheering up the Cow G 题解

热门文章

  1. MATLAB构造向量
  2. 什么是NLP,NLP主要有什么用,为什么要学自然语言处理?
  3. 每日一题【56】导数-公切线问题
  4. 构造Dominator Tree以及Dominator Frontier
  5. OpenLayers禁用鼠标双击放大事件
  6. Win7旗舰版无法安装ie10和ie11(提示:操作系统不受支持)
  7. python高级编程实战小象学院_小象学院Hadoop2.x大数据平台V3完全入门实战
  8. 毕业设计论文 基于遥感影像的道路材质信息提取方法研究
  9. MacOS启动台(launchpad)缺少应用软件图标
  10. Nikto v2.1.0-手册