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