IPhone mapView

举报
清雨小竹 发表于 2022/09/25 01:46:12 2022/09/25
【摘要】 一.基本知识目前主流的智能手机大部分都支持GoogleMap地图程序,而手机上的地图程序确实能给我们的出行带来很大的方便。在iPhone中利用MapKit框架可以很方便的显示Google地图,并且可以在地图上添加标注。二.具体介绍1.MKMapView的显示(1)创建MKMapViewCGRect rect = CGRectMake...

一.基本知识


目前主流的智能手机大部分都支持GoogleMap地图程序,而手机上的地图程序确实能给我们的出行带来很大的方便。在iPhone中利用MapKit框架可以很方便的显示Google地图,并且可以在地图上添加标注。


二.具体介绍


1.MKMapView的显示


(1)创建MKMapView



CGRect rect = CGRectMake(0, 20, 320, 460);



MKMapView *mapView = [[MKMapView alloc] initWithFrame:rect];


(2)设定经纬度



CLLocationCoordinate2D theCoordinate;



theCoordinate.latitude=24.148926;



theCoordinate.longitude=120.715542;


(3)设定显示范围



MKCoordinateSpan theSpan;



theSpan.latitudeDelta=0.1;



theSpan.longitudeDelta=0.1;


(4)设置地图显示的中心及范围



MKCoordinateRegion theRegion;



theRegion.center=theCoordinate;



theRegion.span=theSpan;


(5)设置地图显示的类型及根据范围进行显示



[mapView setMapType:MKMapTypeStandard];



[mapView setRegion:theRegion];



完成这些步骤,再把mapView添加到当前view中就可以显示了。


2.在MKMapView上添加标注


(1)和标注相关的类及协议


(a)MKAnnotation Protocol


标注必须实现这个协议,有三个属性,coordinate,title和subtitle,其中coordinate属性必须设置。


@property (nonatomic, readonly) CLLocationCoordinate2D coordinate


(b)MKAnnotationView


设置好Annotation后就可以用这个把标注在地图上显示出来,


- (id)initWithAnnotation:(id <MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier


其比较重要的属性有


@property (nonatomic, retain) UIImage *image


自定义在地图上标注的图片


@property (nonatomic) BOOL canShowCallout


设置点击后能否弹出标注


@property (retain, nonatomic) UIView *rightCalloutAccessoryView


property (retain, nonatomic) UIView *leftCalloutAccessoryView


设置在标注的左右边点击后进一步弹出附属的View


(c)MKPinAnnotationView


这是以大头针的方式显示标注,继承自MKAnnotationView,同时添加了两个属性


@property (nonatomic) MKPinAnnotationColor pinColor


设置大头针的颜色,有红绿紫三种颜色可选择


@property (nonatomic) BOOL animatesDrop


设置大头针是否以掉下来的动画方式显示



(2)在地图上添加Annotation的步骤


(a)创建一个实现MKAnnotation协议的类,在该类的初始化函数中给其coordinate属性设置


(b)用上述方法创建Annotation


(c)把创建的Annotation用addAnnotation的方法添加到MapView中


(d)实现MKMapViewDelegate代理,在代理函数


- (MKAnnotationView *)mapView:(MKMapView *)mView viewForAnnotation:(id <MKAnnotation>)annotation中把Annotation以MKPinAnnotationView或 MKAnnotationView的方式标注在地图上上显示。

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/8265468

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。