0

操作无法完成。Places API 库中发生内部错误。如果您认为此错误代表错误,请使用我们社区和支持页面 ( https://developers.google.com/places/support )上的说明提交报告。

我收到这个错误。我能够工作几个小时。代码没有任何变化。一段时间后,我对每个请求都收到上述错误

我使用的iOS中的一些代码

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSString *text = [textField text];
    text = [text stringByReplacingCharactersInRange:range withString:string];
    if (text.length>0) {
        footerView.hidden = NO;
        [footerView startAnimating];
    }else {
        [self removeDropDown];
        return YES;
    }
    [_fetcher sourceTextHasChanged:text];
    return YES;
}

委托方法

- (void)didAutocompleteWithPredictions:(NSArray *)predictions {
    resultsArray = [[NSMutableArray alloc]init];
    NSMutableArray *titlesArray = [[NSMutableArray alloc]init];
    for (GMSAutocompletePrediction *prediction in predictions) {
        [titlesArray addObject:[prediction.attributedPrimaryText string]];
        [resultsArray addObject:prediction];
    }

    if (self.searchTextField.text.length>0) {
        if (dropDown == nil) {
            dropDown = [[PTDropDownView alloc] showDropDown:self.searchParentView withheight:autoCompleteViewMaxHeight withItems:titlesArray animationDirection:DirectionDown];
            dropDown.delegate = self;
        } else {
            dropDown.itemsArray = titlesArray;
            [dropDown.tableView reloadData];
        }
        dropDown.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.4];
        [self adjustDropDownFrame];

        [footerView stopAnimating];
    }

    NSLog(@"fetched count = %d",resultsArray.count);

}

- (void)didFailAutocompleteWithError:(NSError *)error {

        NSLog(@"%@",[NSString stringWithFormat:@"%@", error.localizedDescription]);
    [self removeDropDown];
}
4

3 回答 3

1

我们需要为 GSMPlacesClient 提供 API_KeyGMSPlacesClient.provideAPIKey("Your_APIKey")就像我们为 GMSServices一样

于 2017-02-08T09:41:39.107 回答
0

我能够通过确保没有发送空查询来解决错误。请注意,我没有使用 GMSAutoCompleteFetcher() 包装器,而是使用共享的 GMSPlacesClient 来获取预测。

斯威夫特 2:

    func autocompleteQuery(withQuery query: String) {
    if !query.isEmpty {
        placesClient.autocompleteQuery(query, bounds: self.bounds, filter: .None) { results, error in
            guard error == nil else {
                print("Autocomplete error \(error)")
                return
            }
            self.predictions = results!
            dispatch_async(dispatch_get_main_queue()) { self.autocompleteResultsTableView.reloadData() }
        }
    }
}
于 2016-08-05T16:45:09.130 回答
0

几天后,我知道它会给出每天一定数量的搜索结果。我在一天之内收到了上述错误。第二天无需更改代码即可正常工作。

于 2017-02-09T13:44:08.337 回答