我正在开发一个应用程序,用户可以在其中搜索兴趣点,选择搜索结果,然后 MKMapView 将以结果坐标为中心。
我的问题是如何实现自动完成?我研究过MKLocalSearch
and MKLocalSearchRequest
,这似乎是 Apple 建议在 iOS6.1+ 上进行位置搜索的 API。但是我找不到任何自动完成的示例或建议MKLocalSearch
and MKLocalSearchRequest
。是否可以像苹果地图应用程序一样自动完成位置搜索或显示建议列表?谢谢!
检查这个帖子:https://stackoverflow.com/a/20141677/1464327 https://stackoverflow.com/a/20141677/1464327
基本上,您可以提出多个请求。例如,当用户键入时,启动计时器,当计时器结束时,发出请求。每当用户键入时,取消先前的计时器。
实施textField:shouldChangeCharactersInRange:replacementString:
文本字段委托的。
static NSTimer *_timer = nil;
[_timer invalidate];
_timer = [NSTimer timerWithTimeInterval:1.5 target:self selector:@selector(_search:) userInfo:nil repeats:NO];
然后实现 _search 方法来发出请求。
MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.region = regionToSearchIn;
request.naturalLanguageQuery = self.textField.text;
MKLocalSearch *localSearch = [[MKLocalSearch alloc] initWithRequest:request];
[localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
// check for error and process the response
}];
我从来没有实施过这样的事情。我只是告诉你我的出发点是什么。希望这会给您一些指导。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)