如何使用 Google Places Autocomplete API iOS 保存以前搜索过的结果
Posted
技术标签:
【中文标题】如何使用 Google Places Autocomplete API iOS 保存以前搜索过的结果【英文标题】:How to save previously searched results using Google Places Autocomplete API iOS 【发布时间】:2016-11-14 11:01:52 【问题描述】:在我实施 google Places API(用于在我的地图中搜索地点)后,我想保存以前搜索(搜索和选择)的地点,并在他下次点击应用程序中的搜索栏时显示它。
喜欢前 3 次搜索(以前搜索的历史记录)。 我无法这样做,因为我使用 GMSAutocompleteResultsViewController 作为我的默认搜索结果控制器。这是我的代码。
_resultsViewController = [[GMSAutocompleteResultsViewController alloc] init];
_resultsViewController.delegate = self;
self.searchController = [[UISearchController alloc] initWithSearchResultsController:_resultsViewController];
self.searchController.searchResultsUpdater = _resultsViewController;
根据 Google Places API 文档:https://developers.google.com/places/ios-api/autocomplete 如何用之前搜索的结果更新tableview(resultsViewController)
【问题讨论】:
尝试阅读整个文档。 :) 【参考方案1】:- (void)viewController:(GMSAutocompleteViewController *)viewController
didAutocompleteWithPlace:(GMSPlace *)place
[self dismissViewControllerAnimated:YES completion:nil];
// Do something with the selected place.
NSLog(@"Place name %@", place.name);
NSLog(@"Place address %@", place.formattedAddress);
NSLog(@"Place attributions %@", place.attributions.string);
使用此委托方法,您将获得选定的搜索地点并将此地点名称保存到您的数据库、squilite 或您想要的任何最佳位置。并使用您的数据库更新您的表格。
【讨论】:
【参考方案2】:具有用户可以选择最后选择的地点的功能。如果您可以使用数据库或将其保存在 NSUserDefaults 中,那就太好了。并在您的 tableview 中添加一个检查以获取用户默认值,如果发现将其附加到数组的索引 0。
【讨论】:
以上是关于如何使用 Google Places Autocomplete API iOS 保存以前搜索过的结果的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 CORS 实现 JavaScript Google Places API 请求
如何使用 Google 地图搜索我自己的位置数据(与 Places 搜索 API 的功能相同,但用于我自己的“地点”)
如何从 google.maps.places.Autocomplete 获得超过 5 个结果?