序章 :
ユーザーが地図内の特定の場所を検索できるアプリを作成しました。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];
}