在地图中搜索注释

时间:2013-03-26 14:59:20

标签: ios search filter annotations mkmapview

我想知道是否有人知道在mapview中是否可以使用搜索功能? 我希望能够使用UISearchbar搜索/过滤注释,就像在tableview UI中完成的那样。注释是从plist加载的。 会对任何提示或帮助感到高兴,一直在搜索,我找不到任何东西......

1 个答案:

答案 0 :(得分:1)

使用谓词按名称过滤它们。例如:

NSArray *filteredAnnotations = [self.mapView.annotations filterUsingPredicate:[NSPredicate predicateWithFormat:@"SELF.name beginswith[dc] %@",userInput]];

然后删除所有,并使用过滤后的数组中的注释重新加载地图。

[self.mapView removeAnnotations:self.mapView];
self.mapView.annotations = filteredAnnotations;

searchBarTextDidEndEditing:的委托中的方法UISearchBar触发此代码。如果您不想要搜索表预览,请使用不带UISearchBarDisplayController的UISearchBar。

或者正如rckoenes所说,缩放过滤注释的区域。在SO中可能有代码。