Das Problem Ich arbeite an ist:Tippen Sie auf Annotation auf MkMapKit, Rückname
Ich habe einen MKMapKit und wenn ein Benutzer auf ein Gebäude tippt, Straße, öffnet sich der Name aus dem mapView oben, etwa so:
ich meine eigene Klasse AddressAnnotation haben, etwa so:
AddressAnnotation.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface AddressAnnotation : NSObject <MKAnnotation>
- (id)initWithName:(NSString *)name address:(NSString *)address coordinate:(CLLocationCoordinate2D)coordinate;
@end
AddressAnnotation.m
#import "AddressAnnotation.h"
#import <AddressBook/AddressBook.h>
@interface AddressAnnotation()
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *address;
@property (nonatomic, assign) CLLocationCoordinate2D theCoordinate;
@end
@implementation AddressAnnotation
- (id)initWithName:(NSString*)name address:(NSString*)address coordinate:(CLLocationCoordinate2D)coordinate {
if ((self = [super init])) {
if ([name isKindOfClass:[NSString class]]) {
self.name = name;
} else {
self.name = @"";
}
self.address = address;
self.theCoordinate = coordinate;
}
return self;
}
- (NSString *)title {
return _name;
}
- (NSString *)subtitle {
return _address;
}
- (CLLocationCoordinate2D)coordinate {
return _theCoordinate;
}
Und in meinem Haupt-MapViewController kann ich einen Punkt angeben und einen Stift zu dieser Stelle hinzufügen, aber das ist nicht das, was ich will. Ich möchte nur auf ein Objekt tippen und seinen Namen anzeigen lassen.
Ich konnte eine ähnliche Frage nicht finden; Bitte informieren Sie mich, wenn ich eine Frage dupliziert habe.
Vielen Dank.