将搜索栏添加到 Google 地点选择器 (GMSPlacePicker)
Adding a search bar to Google Place Picker(GMSPlacePicker)
我是 iOS 应用程序开发人员的新手。我正在使用 Google 地点选择器 (GMSPlacePicker
),它看起来不错,但没有看到搜索栏。我应该如何添加搜索栏?我指的是 https://developers.google.com/places/ios-api/placepicker and they are providing documents on https://developers.google.com/places/ios-api/autocomplete#add_an_autocomplete_ui_control,但我很困惑如何在 Objective C 中实现 GMSAutocompleteViewController
和 GMSAutocompleteResultsViewController
。
谁能帮帮我?
谢谢
- (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];
}
我已经解决了这个问题。我刚刚更新了 GoogleMaps.framework.
我是 iOS 应用程序开发人员的新手。我正在使用 Google 地点选择器 (GMSPlacePicker
),它看起来不错,但没有看到搜索栏。我应该如何添加搜索栏?我指的是 https://developers.google.com/places/ios-api/placepicker and they are providing documents on https://developers.google.com/places/ios-api/autocomplete#add_an_autocomplete_ui_control,但我很困惑如何在 Objective C 中实现 GMSAutocompleteViewController
和 GMSAutocompleteResultsViewController
。
谁能帮帮我?
谢谢
- (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];
}
我已经解决了这个问题。我刚刚更新了 GoogleMaps.framework.