如何获取用户使用苹果地图输入的某些字符串的建议地址?

How to get suggested addresses on some string entered by user using apple's Map?

我是 iOS 的新手。我正在使用苹果的地图。我需要一些功能,比如 goole PlaceAutoComplete。

在此之前,我试图通过 pods 添加 googlePlaces 实用程序来使用 PlaceAutoComplete,而函数回调甚至没有响应。关于使用 googleMap placeAutoComplete 实用程序,我创建了一个 iOS Api 键。

这是我的一段代码

-(void)placeAutocomplete{
     GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
        filter.type = kGMSPlacesAutocompleteTypeFilterCity;
        [self.placesClients autocompleteQuery:self.txtFld.text
                                       bounds:nil
                                       filter:filter
                                     callback:^(NSArray *results,NSError*error)
        {
             if (error != nil) {
                 NSLog(@"Autocomplete error %@", [error localizedDescription]);
                 return;
             }
             self.autoCompleteArray = results;
         }];
    }

您可以使用搜索栏或创建文本字段的事件 textDidChange 来完成它

我使用下面的代码完成了

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestForGoogleAutoCompletWithTask) object:nil];
    [self performSelector:@selector(requestForGoogleAutoCompletWithTask) withObject:nil afterDelay:0.0];

}
-(void)requestForGoogleAutoCompletWithTask
{
    GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc]init];
    [filter setType:kGMSPlacesAutocompleteTypeFilterNoFilter];

    GMSPlacesClient *placesClient = [GMSPlacesClient sharedClient];
    [placesClient autocompleteQuery:sBar.text
                             bounds:nil
                             filter:filter
                           callback:^(NSArray *results, NSError *error) {
                               if (error != nil) {
                                   NSLog(@"Autocomplete error %@", [error localizedDescription]);
                                   arrAutoCompletData = results; // This is my actual array which I am showing in UITableView
                                   [tblView reloadData];
                                   return;
                               }
                               arrAutoCompletData = results;
                               [tblView reloadData];
                               for (GMSAutocompletePrediction* result in results)
                               {
                                   NSLog(@"Result '%@' with placeID %@", result.attributedFullText.string, result.placeID);
                               }
                           }];

}