【发布时间】:2014-03-14 19:06:32
【问题描述】:
我在 mapView 中添加了一个注释,但它没有显示出来。
地图出现并以预期位置为中心。地图中心坐标与注解坐标相同。
欢迎任何帮助检测问题出在哪里。
#import "mapKitViewController.h"
#import "Annotation.h"
@interface mapKitViewController ()
@end
//AYUNTAMIENTO DE LAS PALMAS DE GC
#define LP_LATITUDE 28.1249625;
#define LP_LONGITUDE -15.4286931;
//span
#define THE_SPAN 0.01f;
@implementation mapKitViewController
@synthesize myMapView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Localízame";
//DATOS DEL MAPA
//region
MKCoordinateRegion myRegion;
//centro del mapa
CLLocationCoordinate2D center;
center.latitude = LP_LATITUDE;
center.longitude = LP_LONGITUDE;
//span
MKCoordinateSpan span;
span.latitudeDelta = THE_SPAN;
span.longitudeDelta = THE_SPAN;
myRegion.center = center;
myRegion.span = span;
[myMapView setRegion:myRegion animated:YES];
//annotation
CLLocationCoordinate2D ayuntamiento;
ayuntamiento.latitude = LP_LATITUDE;
ayuntamiento.longitude = LP_LONGITUDE;
Annotation *aytoPin;
aytoPin.coordinate = ayuntamiento;
aytoPin.title = @"Ayuntamiento";
aytoPin.subtitle = @"Las Palmas de Gran Canaria";
[myMapView addAnnotation:aytoPin];
}
【问题讨论】:
-
除了下面马特的回答,请确保您正在设置地图视图的委托并实现委托方法
mapView:viewForAnnotation: -
@David,显示默认注释(红色引脚),无需设置委托或实现 viewForAnnotation。
-
@Anna 但如果他使用默认注释,他不会使用 MKPointAnnotation 吗?大概这是他自己的一些特殊课程。
-
@matt、MKPointAnnotation 和任何实现 MKAnnotation 协议的类只是您告诉地图添加的 model 对象。他们的 view 是别的东西(MKAnnotationView 或其子类)。
-
不确定 Anna,但无论如何,主要问题是 Matt 的回答。
标签: ios mapkit mapkitannotation