2013-04-17 3 views
0

MKMapView의 대리인의 viewForAnnotation 방법이라고하지만 두 매개 변수는 mapView1 및 주석 모두가 내가 평소에 하나의 주석을 추가하고 무기 호</p> <p>있으며, 제목으로

- (MKAnnotationView *)mapView:(MKMapView *)mapView1 viewForAnnotation:(id <MKAnnotation>)annotation { 

가 호출되는 방법을 말한다 전무 방법 : viewDidAppear 메서드에서 :

[mapView addAnnotation:_a]; 

두 가지 주석 구현 - 사용자 지정 및 표준 사용 시도. 여기에 표준 주석의 사용이다 :

MKPointAnnotation *_aa=[[MKPointAnnotation alloc]init]; 
CLLocationCoordinate2D coordinates; 
coordinates.latitude=39.281520; 
coordinates.longitude= -76.580806; 
_aa.coordinate= coordinates; 
[email protected]"annotation 2"; 

[mapView addAnnotation:_aa]; 
+0

_a의 가치는 무엇입니까? @ 인터페이스의 CustomAnnotation : 다음 MKAnnotation 프로토콜 구현 –

+1

클래스 NSObject의를 내가 주석의 제목과 자막 예상 정확히지도에 표시되어 있기 때문에 나는이 붙여 – gdanov

답변

0

MapAnnotation.h는

 #import <Foundation/Foundation.h> 
     #import <MapKit/MKAnnotation.h> 

     @interface MapAnnotation : NSObject <MKAnnotation> 
     @property(nonatomic, assign) CLLocationCoordinate2D coordinate; 
     @property(nonatomic, copy)  NSString *title; 
     @property(nonatomic, copy)  NSString *subtitle; 

    -(id)initWithCoordinate:(CLLocationCoordinate2D)Region withtitle:(NSString *)Title andSubTitle:(NSString *)SubTitle ; 

MapAnnotation.m는지도보기를 사용하는 클래스의 값을 할당

@implementation EventAtPlacesAnnotation 
@synthesize title = _title, subtitle = _subtitle,coordinate = _coordinate; 

-(id)initWithCoordinate:(CLLocationCoordinate2D)Region withtitle:(NSString *)Title andSubTitle:(NSString *)SubTitle 
{ 

    self = [super init]; 
    if(self){ 
     _title = Title; 
     _subtitle = SubTitle; 
     _coordinate = Region; 
    } 
    return self; 
} 

CLLocationCoordinate2D newCoordinate = CLLocationCoordinate2DMake(40.56, 90.83); 

    MapAnnotation *firstannotation = [[MapAnnotation alloc]initWithCoordinate:newCoordinate withtitle:@"Place 1" andSubTitle:@"Near To empire state"]; 

[myMapview addAnnotation:firstannotation]; 
+0

사본을 설정, 바로 그 일을하고 생각 당신의 코드에서 사용자 정의지도 주석을 만들었지 만 viewForAnnotation이 호출 될 때 결과는 인수에 대해 동일한 nil 값입니다. – gdanov

0

UI 빌더에서 드래그하는 동안 어떻게 든 "마법"이 깨졌습니다. 화면과 컨트롤러를 다시 빌드하면 모든 것이 광고 된대로 작동합니다.