マイ アノテーションは次のようにマップに配置されます。
for (i = 0; i < [results count]; i++) {
// create new object CustomAnnotation
myAnn = [[CustomAnnotation alloc] init];
// set the lat and long of the object
location.latitude = (double)[[[results objectAtIndex:i] objectForKey:@"lat"] doubleValue];
location.longitude = (double)[[[results objectAtIndex:i] objectForKey:@"long"] doubleValue];
// set properties of the object
myAnn.coordinate = location;
myAnn.title = [[results objectAtIndex:i] objectForKey:@"title"];
myAnn.subtitle = [[results objectAtIndex:i] objectForKey:@"strap"];
myAnn.pinId = [[results objectAtIndex:i] objectForKey:@"id"];
myAnn.url = [[results objectAtIndex:i] objectForKey:@"link"];
myAnn.dateTime = [[results objectAtIndex:i] objectForKey:@"timestamp"];
// add the object to the array locations
[locations addObject:myAnn];
}
私の方法でcalloutAccessoryTapped
は、Safariで開くことができるように myAnn.url 値を取得しようとしています。これを行う方法:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
NSString *annTitle = view.annotation.title;
NSLog(@"hello %@", annTitle);
}
しかし、私はview.annotation.urlにアクセスできません。myAnn の URL 値を取得する方法はありますか? myAnn はオブジェクト CustomAnnotation (@property url のようなものが定義されている場所) であり、次のものがあります。
@interface CustomAnnotation : NSObject <MKAnnotation>
view.annotation.url が継承されることを望んでいましたが、もう一度見てみると、アクセスしていませんCustomAnnotation
。
私の質問は、詳細開示ボタンをクリックすると、注釈の URL を取得できますか?