ios开发苹果自带的地图大头针怎么改

2025-04-30 17:03:48
推荐回答(1个)
回答1:

一、先来认识一个协议MKAnnotation
官方文档告诉我们,所有标注的类必须遵守这个协议。所以可以了解,标注这个概念在逻辑属性和视图上是分开的。先来看下这个协议声明了哪些方法:
@protocol MKAnnotation
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;//地理坐标位置
@optional
@property (nonatomic, readonly, copy) NSString *title;//标题
@property (nonatomic, readonly, copy) NSString *subtitle;//副标题
//拖动时调用
- (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate;

@end

二、创建一个系统标注大头针
- (void)viewDidLoad {
[super viewDidLoad];
//初始化地图
mapView =[[MKMapView alloc]initWithFrame:self.view.frame];
//设置代理
mapView.delegate=self;
//设置位置
mapView.region=MKCoordinateRegionMake(CLLocationCoordinate2DMake(39.26, 116.3), MKCoordinateSpanMake(1.8, 1));
mapView.mapType=MKMapTypeStandard;
//初始化一个大头针类
MKPointAnnotation * ann = [[MKPointAnnotation alloc]init];
//设置大头针坐标
ann.coordinate=CLLocationCoordinate2DMake(39.26, 116.3);
ann.title=@"我";
ann.subtitle=@"看这里";
[mapView addAnnotation:ann];
[self.view addSubview:mapView];
}