注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

定位和地图(五)  

2013-05-09 00:01:54|  分类: ios开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在地图视图上添加自定义的锚点

你想在地图上添加一些依你自己的定义的图片的形式来显示锚点,而不是 iOS SDK 自 带的那种形式。

通过 UIImage 引入一个你自定义的图片,然后把它赋值给 MKAnnotationView image

这个属性上去,以一个锚点的形式返回到你的地图视图上 

代码如下:

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

{

    MKAnnotationView *result = nil;

    if ([annotation isKindOfClass:[MyAnnotation class]] == NO)

    {

        return result;

    }

    

    if ([mapView isEqual:self.myMapView] == NO)

    {

        return result;

    }

    

    MyAnnotation *senderAnnotation = (MyAnnotation *) annotation;

    NSString *pinReusableIdentifier = [MyAnnotation reusableIdentifierforPinColor:senderAnnotation.pinColor];

    MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:pinReusableIdentifier];

    if (annotationView == nil)

    {

        annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:senderAnnotation reuseIdentifier:pinReusableIdentifier];

        [annotationView setCanShowCallout:YES];

    }

    

    UIImage *pinImage = [UIImage imageNamed:@"Default.png"];

    if (pinImage != nil)

    {

        annotationView.image = pinImage;

    }

    

    result = annotationView;

    return result;

}

MKMapView 实例对象的协议类必须要实现 MKMapViewDelegate 这个协议,并且要实 现 mapView:viewForAnnotation 这个方法。这个方法将会返回一个 MKAnnotationView 的实 例对象,任何这个类的子类都有一个叫做 image 的属性,我们可以通过给这个属性设置我们 自定义的图片从而能够在地图上展示 

  评论这张
 
阅读(46)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017