Я пытаюсь добавить аннотации к пин / адресу в моем представлении карт Google. Когда я делаю это, все работает нормально:
[self addPin: CLLocationCoordinate2DMake(lat, lng) title: @"test" subtitle: @"test"];
с:
- (void) addPin: (CLLocationCoordinate2D) position title: (NSString *) pinTitle subtitle: (NSString *) pinSubtitle{
AddressAnnotation *addAnnotation = [[AddressAnnotation alloc] initWithTitle:pinTitle andCoordinate:position andSubtitle:pinSubtitle];
[mapView addAnnotation:addAnnotation];
[addAnnotation autorelease];
}
и
#import "AddressAnnotation.h"
@implementation AddressAnnotation
@synthesize title, coordinate, subtitle;
- (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d andSubtitle:(NSString *)sbtitle {
[super init];
title = ttl;
coordinate = c2d;
subtitle = sbtitle;
return self;
}
- (void)dealloc {
[title release];
[super dealloc];
}
@end
с:
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface AddressAnnotation : NSObject <MKAnnotation> {
NSString *title;
CLLocationCoordinate2D coordinate;
NSString *subtitle;
}
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
- (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d andSubtitle:(NSString *)sbtitle;
@end
дела идут плохо, когда я делаю это:
NSString *detailTitle = [NSString stringWithFormat:@"%@", [key objectForKey:@"name"]];
NSString *detailSubtitle = [NSString stringWithFormat:@"%@", [key objectForKey:@"vicinity"]];
NSLog(@"%@", detailSubtitle);
[self addPin: CLLocationCoordinate2DMake(lat, lng) title: detailTitle subtitle: detailSubtitle];
Приложение описывает несколько случаев, когда выводы должны идти на мой взгляд, и иногда выводит эту ошибку:
'NSInvalidArgumentException', причина: '- [Длина NSCFNumber]: нераспознанный селектор отправлен на экземпляр 0x5851c80'