在ios 5中搜索后触发调出气泡

时间:2012-05-03 14:56:07

标签: xcode ios5 mkmapview mapkit mkannotation

我的视图中有一个搜索栏,用户可以使用它来输入关键字并根据该搜索进行搜索。我正在使用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;
        }
    }

如何触发标注泡沫任何想法?

1 个答案:

答案 0 :(得分:1)

我确定你已经解决了这个问题,但以防万一......根据Apple文档,只有在屏幕上显示引脚时,SelectAnnotation才有效。

  

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