我正在开发一个应用程序,其中用户可以搜索一个兴趣点,选择一个搜索结果,然后MKMapView将集中到结果坐标。
我的问题是如何实现自动补全?我在MKLocalSearch和MKLocalSearchRequest上做过研究,似乎是苹果推荐的iOS6.1+位置搜索应用编程接口。然而,我找不到任何自动补全的例子,也找不到任何关于MKLocalSearch和MKLocalSearchRequest的建议。有没有可能像苹果的地图应用程序一样,自动完成位置搜索或显示建议列表?谢谢!
发布于 2014-05-08 01:31:14
查看这篇文章: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
}];我从来没有实现过这样的东西。我只是在告诉你我的起点是什么。希望这篇文章能给你一些指导。
https://stackoverflow.com/questions/23166132
复制相似问题