Iphone 打开时的地图视图注释详图索引操作

Iphone 打开时的地图视图注释详图索引操作,iphone,annotations,mapkit,mkannotationview,Iphone,Annotations,Mapkit,Mkannotationview,我有一个带有几个注释的地图视图。每个注释都有一个leftCalloutAccessoryView,它是一个UIViewController类。原因是我希望每个注释都从服务器加载一些数据,并将这些数据的结果添加到注释副标题中。 这一切都很完美,除了我不想在我的应用程序启动时加载所有数据,但我希望远程调用仅在调用气泡打开时完成 有人知道我怎么做吗?viewWillload、viewDidLoad等。不要在这种情况下工作。还有什么例子吗?我通过添加一个观察者解决了这个问题。然后,观察者执行其操作,然后

我有一个带有几个注释的地图视图。每个注释都有一个leftCalloutAccessoryView,它是一个UIViewController类。原因是我希望每个注释都从服务器加载一些数据,并将这些数据的结果添加到注释副标题中。 这一切都很完美,除了我不想在我的应用程序启动时加载所有数据,但我希望远程调用仅在调用气泡打开时完成


有人知道我怎么做吗?viewWillload、viewDidLoad等。不要在这种情况下工作。还有什么例子吗?

我通过添加一个观察者解决了这个问题。然后,观察者执行其操作,然后显示标注

我遇到的问题是,在显示编号后,我无法更新编号编号中的信息。唯一的方法是创建自己的标注气泡(据我所知),考虑到我有一个截止日期,这是我不喜欢的。 我通过添加一个额外的UIView,上面有一个alpha和一个文本“获取位置数据…”来修复这个问题。我只是在按下某个位置时显示该视图,当观察者完成后,我再次隐藏该视图(通过使用动画偏离路线)

希望我的回答能帮助别人

代码:

还有一些代码:

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context{

    NSString *action = (NSString*)context;

    MKAnnotationView *annotationView = [(MKAnnotationView*)object retain];
    BikeAnnotation *bike = [[annotationView annotation] retain];

    if([action isEqualToString:GMAP_ANNOTATION_SELECTED] && [[bike _stationType] intValue] != 5 && [[bike _stationType] intValue] != 6){
        BOOL annotationAppeared = [[change valueForKey:@"new"] boolValue];
        if (annotationAppeared) {
            NSLog(@"Annotation selected");
        else {
            NSLog(@"annotation deselected");
        }
    }
}
把这个放在@synthetic的后面:

NSString * const GMAP_ANNOTATION_SELECTED = @"gmapselected";

“当标注气泡打开时”的确切含义是什么?我指的是当您按下标注销时打开的标注。它包含标题、副标题、leftCalloutAccessoryView和rightCalloutAccessoryView。
NSString * const GMAP_ANNOTATION_SELECTED = @"gmapselected";