0

我的视图中有一个搜索栏,用户可以使用它来输入关键字并根据该关键字进行搜索。我为此使用 uisearchbar 委托。现在地图正在搜索关键字的中心,但我也想显示与此相关的调用。我有 lat long 和 title,我认为这很有用。这是代码:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
     NSLog(@"text %@",searchBar.text);
    NSEnumerator *enumerator = [res objectEnumerator];
    id obj;
    NSString *stringToSearchFor = [searchBar text];
    stringToSearchFor= [stringToSearchFor lowercaseString];
    NSString *searchInThisString = @"";
    while(obj = [enumerator nextObject]){
        searchInThisString = [obj title];
        searchInThisString = [searchInThisString stringByAppendingString:@" "];
        searchInThisString = [searchInThisString stringByAppendingString:[obj address]];
        searchInThisString = [searchInThisString lowercaseString];
        if([searchInThisString rangeOfString:stringToSearchFor].location == NSNotFound ){
            NSLog(@"not found ");
            continue;
        }else{
            NSLog(@"found");

            NSString *lat = [obj latitude];
            NSString *longi = [obj longitude];
            MKCoordinateRegion region = self.gpMapView.region;
            region.center.latitude = [lat doubleValue];
            region.center.longitude = [longi doubleValue];
            id<MKAnnotation> myAnnotation = [self.gpMapView.annotations objectAtIndex:0];
            MKAnnotationView *mkv = [[MKAnnotationView alloc]init];
            [mkv setSelected:YES];
            [self.gpMapView selectAnnotation:myAnnotation animated:YES];
            [self.gpMapView setRegion:region animated:YES];

            break;
        }
    }

请问我怎样才能触发标注气泡?

4

1 回答 1

1

我确定您已经解决了这个问题,但以防万一……根据 Apple 文档,SelectAnnotation 仅在 pin 已经在屏幕上可见时才有效。

MKMapView 类参考 > SelectAnnotation 如果指定的注释不在屏幕上,因此没有关联的注释视图,则此方法无效。

于 2012-05-22T22:53:05.367 回答