0

私のビューには、ユーザーがキーワードを入力してそれに従って検索するために使用する検索バーがあります。これには uisearchbar デリゲートを使用しています。今はキーワード検索中の地図が中心ですが、それに関連した吹き出しも表示したいです。私は緯度経度とタイトルを持っています。これは役に立つと思います。コードは次のとおりです。

- (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は、ピンが画面上にすでに表示されている場合にのみ機能します。

MKMapView クラス リファレンス > SelectAnnotation 指定された注釈が画面上になく、関連付けられた注釈ビューがない場合、このメソッドは効果がありません。

于 2012-05-22T22:53:05.367 に答える