我是新手,我正在把头撞到墙上,所以你能提供的任何帮助都将不胜感激。
我的应用程序正在下载一系列坐标和标题,我将它们转换为 MKAnnotations。我已经很好地实现了 MKAnnotation 协议,因为它不再抱怨这个,但这里是代码:
注释器.h:
#import <Foundation/Foundation.h>
#import "MapKit/Mapkit.h"
@interface Annotator : NSObject <MKAnnotation>
+ (Annotator *) createAnnotator:(CLLocationCoordinate2D *)coordinate
withTitle:(NSString *)title
andSubtitle:(NSString *)subtitle;
@property (nonatomic, strong) NSString *myTitle;
@property (nonatomic, strong) NSString *mySubtitle;
@property (nonatomic) CLLocationCoordinate2D *coordinate;
@end
到现在还挺无聊的。这是 Annotator.m:
#import "Annotator.h"
@implementation Annotator
@synthesize myTitle = _myTitle;
@synthesize mySubtitle = _mySubtitle;
@synthesize coordinate = _coordinate;
+ (Annotator *)createAnnotator:(CLLocationCoordinate2D *)coordinate
withTitle:(NSString *)title
andSubtitle:(NSString *)subtitle
{
Annotator *annotation = [[Annotator alloc] init];
annotation.myTitle = title;
annotation.mySubtitle = subtitle;
annotation.coordinate = coordinate;
return annotation;
}
- (NSString *)title
{
return self.myTitle;
}
- (NSString *)subtitle
{
return self.mySubtitle;
}
@end
现在,我已经在一个中央视图控制器中获得了大部分其他代码,所以只要 HTTP 请求返回数据,我就会遍历它,创建我的 MKAnnotation 对象,然后为每个对象执行此操作:
[self.territoryMap addAnnotation:locationPin];
...其中 self.territoryMap 是我拖入故事板的 MKMapView 的出口,而 locationPin 是我使用上面的 Annotator 实现创建的 MKAnnotation 对象。
我看过的一些解决方案有 MKMapViewDelegate 方法,但在我看来它们不是必需的,因为我只是在寻找默认行为。我放了一个我发现的委托,它可以让我改变用户定位销的颜色,但这不是我担心的。
还有什么我需要做的吗?我很困惑!感谢您提供的任何帮助!