0

序章 :

ユーザーが地図内の特定の場所を検索できるアプリを作成しました。Google APIから解析された場所(検索結果)の名前を表示したUITableViewを含むmapViewとリストビューがあります。

私の問題:

ここで私の問題は、特定のテーブルセルを選択したときです。名前に対応して、その場所は注釈付きで mapView にフォーカスする必要があり、注釈は自動的に選択する必要があります。したがって、私はこのコードを作成しました。また、最初の選択時と新しい検索時にも機能しますが、2番目の選択からは機能しません。(すなわち)

1.アノテーションが機能する

2.ズームが効く

3.しかし、2番目の選択から「selectAnnotation :annotation animation:YES」は機能しません。この問題を解決するために誰か助けてください。

前もって感謝します。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
       [tableView reloadData];
       [mapView removeAnnotation:annotation];

        annotation = [[MKPointAnnotation alloc]init];
        NSDictionary *searchResults1 = [LocationDetails objectAtIndex:indexPath.row];
        annotation.title = [searchResults1  valueForKey:@"name"];
        annotation.subtitle=[searchResults1 valueForKey:@"formatted_address"];
        annotation.coordinate= CLLocationCoordinate2DMake([[searchResults1 valueForKey:@"lat"] doubleValue], [[searchResults1 valueForKey:@"lng"] doubleValue]);

        [mapView selectAnnotation:annotation animated:YES];
        [mapView addAnnotation:annotation];


     [mapView setRegion: MKCoordinateRegionMakeWithDistance(annotation.coordinate, 1000, 1000)  animated:YES];
     [tableView removeFromSuperview];
}
4

1 に答える 1