Migrate to Place Autocomplete (New)

Places SDK for iOS supports the existing Place Autocomplete. If you are familiar with the existing Place Autocomplete, the new version of Place Autocomplete makes the following changes:

Example request

With Place Autocomplete (New), you make a request and pass all parameters in the GMSAutocompleteRequest instance:

Swift

let token = GMSAutocompleteSessionToken()

let northEastBounds = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874)
let southWestBounds = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572)

let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northEastBounds, southWestBounds)

let request = GMSAutocompleteRequest(query:"Sicilian piz")
request.filter = filter
request.sessionToken = token
GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { results, error in
   // Handle response
})

Objective-C

  CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874);
  CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572);

  GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
  filter.types = @[ kGMSPlaceTypeRestaurant ];
  filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
  GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
  request.sessionToken = token;
  request.filter = filter;

  [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
    // Handle response
    for (GMSAutocompleteSuggestion *suggestion in results) {
      if (suggestion.placeSuggestion) {
        // Show place suggestion data.
      }
    }
  }];