我的视图中有一个搜索栏,用户可以使用它来输入关键字并根据该搜索进行搜索。我正在使用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;
}
}
如何触发标注泡沫任何想法?
答案 0 :(得分:1)
我确定你已经解决了这个问题,但以防万一......根据Apple文档,只有在屏幕上显示引脚时,SelectAnnotation才有效。
MKMapView类参考&gt; SelectAnnotation 如果指定的注释不在屏幕上,因此没有关联的注释视图,则此方法无效。