1

我是 iOS 应用程序开发人员的新手。我正在使用 Google 地点选择器 ( GMSPlacePicker),它看起来不错,但没有看到搜索栏。我应该如何添加搜索栏?我指的是https://developers.google.com/places/ios-api/placepicker,他们在https://developers.google.com/places/ios-api/autocomplete#add_an_autocomplete_ui_control上提供了文档,但我很困惑如何在Objective C中实现GMSAutocompleteViewController和实现GMSAutocompleteResultsViewController。有人可以帮助我吗?

谢谢

4

2 回答 2

2
- (IBAction)onLaunchClicked:(id)sender {

    if ([_textField.text length] > 0) {
        GMSAutocompleteViewController *acController = [[GMSAutocompleteViewController alloc] init];
        acController.delegate = self;
        [self presentViewController:acController animated:YES completion:nil];
    }else {
        UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Message" message:@"Enter a name" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *action = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

        }];
        [controller addAction:action];
        [self presentViewController:controller animated:YES completion:nil];
    }
}

// Handle the user's selection.
- (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);

    [_peopleArray addObject:@{@"name":_textField.text,
                              @"place":place.name,
                              @"lat":[NSString stringWithFormat:@"%0.6f",place.coordinate.latitude],
                              @"long":[NSString stringWithFormat:@"%0.6f",place.coordinate.longitude]}];
    [_tableView reloadData];
    _textField.text = @"";
}

- (void)viewController:(GMSAutocompleteViewController *)viewController
didAutocompleteWithError:(NSError *)error {
    [self dismissViewControllerAnimated:YES completion:nil];
    // TODO: handle the error.
    NSLog(@"Error: %@", [error description]);
}

// User canceled the operation.
- (void)wasCancelled:(GMSAutocompleteViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:nil];
}
于 2016-03-23T07:53:22.540 回答
1

我已经解决了这个问题。我刚刚更新了GoogleMaps.framework

于 2016-03-23T08:04:31.550 回答