GooglePlaces Framework Reference

  • This documentation outlines the globally available classes within the Google Places SDK for iOS.

  • These classes provide functionality for tasks such as place autocomplete, place details retrieval, and photo fetching.

  • They enable developers to integrate place-related features into their iOS applications.

  • The classes handle various aspects of place information, including addresses, predictions, reviews, and opening hours.

  • Developers can use these classes to create rich and interactive place-based experiences in their apps.

Classes

The following classes are available globally.

  • Represents a component of an address, e.g., street number, postcode, city, etc.

    Declaration

    Swift

      class 
     GMSAddressComponent 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAddressComponent 
     : 
     NSObject 
     
    
  • Deprecated

    Use GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback: instead.

    Declaration

    Swift

      class 
     GMSAutocompleteFetcher 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteFetcher 
     : 
     NSObject 
     /**
     * Initialize the fetcher.
     *
     * @param filter The filter to apply to the results. This parameter may be nil.
     */ 
     - 
     ( 
     instancetype 
     ) 
     initWithFilter 
     :( 
     nullable 
      GMSAutocompleteFilter 
     
     * 
     ) 
     filter 
     NS_DESIGNATED_INITIALIZER 
     __GMS_AVAILABLE_BUT_DEPRECATED_MSG 
     ( 
     "Use <code>GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback:</code> " 
     "instead." 
     ) 
     ; 
     /** Delegate to be notified with autocomplete prediction results. */ 
     @property 
     ( 
     nonatomic 
     , 
     weak 
     , 
     nullable 
     ) 
     id 
     < 
      GMSAutocompleteFetcherDelegate 
     
     > 
     delegate 
     __GMS_AVAILABLE_BUT_DEPRECATED_MSG 
     ( 
     "Use <code>GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback:</code> " 
     "instead." 
     ) 
     ; 
     /** Filter to apply to autocomplete suggestions (can be nil). */ 
     @property 
     ( 
     nonatomic 
     , 
     strong 
     , 
     nullable 
     ) 
      GMSAutocompleteFilter 
     
     * 
     autocompleteFilter 
     __GMS_AVAILABLE_BUT_DEPRECATED_MSG 
     ( 
     "Use <code>GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback:</code> " 
     "instead." 
     ) 
     ; 
     /** Provide a `GMSAutocompleteSessionToken` for tracking the specific autocomplete query flow. */ 
     - 
     ( 
     void 
     ) 
     provideSessionToken 
     :( 
     nullable 
      GMSAutocompleteSessionToken 
     
     * 
     ) 
     sessionToken 
     __GMS_AVAILABLE_BUT_DEPRECATED_MSG 
     ( 
     "Use <code>GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback:</code> " 
     "instead." 
     ) 
     ; 
     /**
     * Notify the fetcher that the source text to autocomplete has changed.
     *
     * This method should only be called from the main thread. Calling this method from another thread
     * will result in undefined behavior. Calls to `GMSAutocompleteFetcherDelegate` methods will also be
     * called on the main thread.
     *
     * This method is non-blocking.
     * @param text The partial text to autocomplete.
     */ 
     - 
     ( 
     void 
     ) 
     sourceTextHasChanged 
     :( 
     nullable 
     NSString 
     * 
     ) 
     text 
     __GMS_AVAILABLE_BUT_DEPRECATED_MSG 
     ( 
     "Use <code>GMSPlacesClient#fetchAutocompleteSuggestionsFromRequest:callback:</code> " 
     "instead." 
     ) 
     ; 
     @end 
     
    
  • This class represents a set of restrictions that may be applied to autocomplete requests. This allows customization of autocomplete suggestions to only those places that are of interest.

    Declaration

    Swift

      class 
     GMSAutocompleteFilter 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteFilter 
     : 
     NSObject 
     
    
  • This class represents a matched fragment of a string. This is a contiguous range of characters in a string, suitable for highlighting in an autocompletion UI.

    Declaration

    Swift

      class 
     GMSAutocompleteMatchFragment 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteMatchFragment 
     : 
     NSObject 
     
    
  • This class represents a place suggestion of a full query based on a partially typed string.

    Declaration

    Swift

      class 
     GMSAutocompletePlaceSuggestion 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompletePlaceSuggestion 
     : 
     NSObject 
     
    
  • Deprecated

    Use GMSAutocompleteSuggestion instead.

    This class represents a prediction of a full query based on a partially typed string.

    Declaration

    Swift

      class 
     GMSAutocompletePrediction 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompletePrediction 
     : 
     NSObject 
     
    
  • The request for autocomplete data.

    Declaration

    Swift

      class 
     GMSAutocompleteRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteRequest 
     : 
     NSObject 
     
    
  • Deprecated

    Use the placeAutocomplete View extension in Places Swift SDK ( https://developers.google.com/maps/documentation/places/ios-sdk/google-places-swift ) instead.

    GMSAutocompleteResultsViewController provides an interface that displays place autocomplete predictions in a table view. The table view will be automatically updated as input text changes.

    This class is intended to be used as the search results controller of a UISearchController. Pass an instance of GMSAutocompleteResultsViewController to UISearchController’s initWithSearchResultsController method, then set the controller as the UISearchController’s searchResultsUpdater property.

    Use the GMSAutocompleteResultsViewControllerDelegate delegate protocol to be notified when a place is selected from the list.

    Declaration

    Swift

      class 
     GMSAutocompleteResultsViewController 
     : 
     UIViewController 
     , 
     UISearchResultsUpdating 
     
    

    Objective-C

      @interface 
     GMSAutocompleteResultsViewController 
     : 
     UIViewController 
     < 
     UISearchResultsUpdating 
     > 
     
    
  • This class represents a session token to uniquely identify a series of queries to the Google Places API Services for fetching place predictions for a partial search string.

    Declaration

    Swift

      class 
     GMSAutocompleteSessionToken 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteSessionToken 
     : 
     NSObject 
     
    
  • This class represents a suggestion of a full query based on a partially typed string.

    Declaration

    Swift

      class 
     GMSAutocompleteSuggestion 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSAutocompleteSuggestion 
     : 
     NSObject 
     
    
  • Deprecated

    Use Places Swift SDK’s ( https://developers.google.com/maps/documentation/places/ios-sdk/google-places-swift ) placeAutocomplete API instead.

    GMSAutocompleteTableDataSource provides an interface for providing place autocomplete predictions to populate a UITableView by implementing the UITableViewDataSource and UITableViewDelegate protocols.

    GMSAutocompleteTableDataSource is designed to be used as the data source for a UISearchDisplayController.

    NOTE: UISearchDisplayController has been deprecated since iOS 8. It is now recommended to use UISearchController with GMSAutocompleteResultsViewController to display autocomplete results using the iOS search UI.

    Set an instance of GMSAutocompleteTableDataSource as the searchResultsDataSource and searchResultsDelegate properties of UISearchDisplayController . In your implementation of shouldReloadTableForSearchString , call sourceTextHasChanged with the current search string.

    Use the GMSAutocompleteTableDataSourceDelegate delegate protocol to be notified when a place is selected from the list. Because autocomplete predictions load asynchronously, it is necessary to implement didUpdateAutocompletePredictions and call reloadData on the UISearchDisplayController ‘s table view.

    Declaration

    Swift

      class 
     GMSAutocompleteTableDataSource 
     : 
     NSObject 
     , 
     UITableViewDataSource 
     , 
     UITableViewDelegate 
     
    

    Objective-C

      @interface 
     GMSAutocompleteTableDataSource 
     : 
     NSObject 
     < 
     UITableViewDataSource 
     , 
     UITableViewDelegate 
     > 
     
    
  • Deprecated

    Use the placeAutocomplete View extension in Places Swift SDK ( https://developers.google.com/maps/documentation/places/ios-sdk/google-places-swift ) instead.

    GMSAutocompleteViewController provides an interface that displays a table of autocomplete predictions that updates as the user enters text. Place selections made by the user are returned to the app via the GMSAutocompleteViewControllerResultsDelegate protocol.

    To use GMSAutocompleteViewController , set its delegate to an object in your app that conforms to the GMSAutocompleteViewControllerDelegate protocol and present the controller (eg using presentViewController). The GMSAutocompleteViewControllerDelegate delegate methods can be used to determine when the user has selected a place or has cancelled selection.

    Declaration

    Swift

      class 
     GMSAutocompleteViewController 
     : 
     UIViewController 
     
    

    Objective-C

      @interface 
     GMSAutocompleteViewController 
     : 
     UIViewController 
     
    
  • Request object to use with GMSPlacesClient to fetch a photo.

    Declaration

    Swift

      class 
     GMSFetchPhotoRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSFetchPhotoRequest 
     : 
     NSObject 
     
    
  • Request object to use with GMSPlacesClient to fetch a place.

    Declaration

    Swift

      class 
     GMSFetchPlaceRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSFetchPlaceRequest 
     : 
     NSObject 
     
    
  • A class representing time in hours and minutes in a 24hr clock.

    Declaration

    Swift

      class 
     GMSTime 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSTime 
     : 
     NSObject 
     
    
  • A class representing a open/close event in GMSPeriod .

    Declaration

    Swift

      class 
     GMSEvent 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSEvent 
     : 
     NSObject 
     
    
  • A class representing a period of time where the place is operating for a GMSPlace . It contains an open GMSEvent and an optional close GMSEvent . The close event will be nil if the period is open 24hrs.

    Declaration

    Swift

      class 
     GMSPeriod 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPeriod 
     : 
     NSObject 
     
    
  • A class to handle storing and accessing opening hours information for GMSPlace .

    Declaration

    Swift

      class 
     GMSOpeningHours 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSOpeningHours 
     : 
     NSObject 
     
    
  • Represents a particular physical place. A GMSPlace encapsulates information about a physical location, including its name, location, and any other information we might have about it. This class is immutable.

    Declaration

    Swift

      class 
     GMSPlace 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlace 
     : 
     NSObject 
     
    
  • A class representing an author attribution.

    Declaration

    Swift

      class 
     GMSPlaceAuthorAttribution 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceAuthorAttribution 
     : 
     NSObject 
     
    
  • A class that represents an EV charging connector aggregation.

    Declaration

    Swift

      class 
     GMSPlaceConnectorAggregation 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceConnectorAggregation 
     : 
     NSObject 
     
    
  • The consumer alert message for the place when we detect suspicious review activity on a business or a business violates our policies.

    Declaration

    Swift

      class 
     GMSPlaceConsumerAlert 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceConsumerAlert 
     : 
     NSObject 
     
    
  • The details of the consumer alert message.

    Declaration

    Swift

      class 
     GMSPlaceConsumerAlertDetails 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceConsumerAlertDetails 
     : 
     NSObject 
     
    
  • A class that represents a content block.

    Declaration

    Swift

      class 
     GMSPlaceContentBlock 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceContentBlock 
     : 
     NSObject 
     
    
  • The summary of amenities near the EV charging station. This only applies to places with type “electric_vehicle_charging_station”.

    Declaration

    Swift

      class 
     GMSPlaceEVChargeAmenitySummary 
     : 
     NSObject 
     , 
      GMSPlaceAISummary 
     
     
    

    Objective-C

      @interface 
     GMSPlaceEVChargeAmenitySummary 
     : 
     NSObject 
     < 
      GMSPlaceAISummary 
     
     > 
     
    
  • A class that represents a place’s EV charging options.

    Declaration

    Swift

      class 
     GMSPlaceEVChargeOptions 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceEVChargeOptions 
     : 
     NSObject 
     
    
  • A class that represents a place’s generative summary.

    Declaration

    Swift

      class 
     GMSPlaceGenerativeSummary 
     : 
     NSObject 
     , 
      GMSPlaceAISummary 
     
     
    

    Objective-C

      @interface 
     GMSPlaceGenerativeSummary 
     : 
     NSObject 
     < 
      GMSPlaceAISummary 
     
     > 
     
    
  • Represents an is open request definition to be sent via GMSPlacesClient .

    Declaration

    Swift

      class 
     GMSPlaceIsOpenRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceIsOpenRequest 
     : 
     NSObject 
     
    
  • The response object for the isOpenWithRequest:callback: method.

    Declaration

    Swift

      class 
     GMSPlaceIsOpenResponse 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceIsOpenResponse 
     : 
     NSObject 
     
    
  • Represents a GMSPlace and the relative likelihood of the place being the best match within the list of returned places for a single request. For more information about place likelihoods, see GMSPlaceLikelihoodList .

    Declaration

    Swift

      class 
     GMSPlaceLikelihood 
     : 
     NSObject 
     , 
     NSCopying 
     
    

    Objective-C

      @interface 
     GMSPlaceLikelihood 
     : 
     NSObject 
     < 
     NSCopying 
     > 
     
    
  • Represents a list of places with an associated likelihood for the place being the correct place. For example, the Places service may be uncertain what the true Place is, but think it 55% likely to be PlaceA, and 35% likely to be PlaceB. The corresponding likelihood list has two members, one with likelihood 0.55 and the other with likelihood 0.35. The likelihoods are not guaranteed to be correct, and in a given place likelihood list they may not sum to 1.0.

    Declaration

    Swift

      class 
     GMSPlaceLikelihoodList 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceLikelihoodList 
     : 
     NSObject 
     
    
  • A class that represents a summary of a neighborhood.

    Declaration

    Swift

      class 
     GMSPlaceNeighborhoodSummary 
     : 
     NSObject 
     , 
      GMSPlaceAISummary 
     
     
    

    Objective-C

      @interface 
     GMSPlaceNeighborhoodSummary 
     : 
     NSObject 
     < 
      GMSPlaceAISummary 
     
     > 
     
    
  • This class represents the parking options for a place.

    Declaration

    Swift

      class 
     GMSPlaceParkingOptions 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceParkingOptions 
     : 
     NSObject 
     
    
  • The metadata corresponding to a single photo associated with a place.

    Declaration

    Swift

      class 
     GMSPlacePhotoMetadata 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlacePhotoMetadata 
     : 
     NSObject 
     
    
  • A list of GMSPlacePhotoMetadata objects.

    Declaration

    Swift

      class 
     GMSPlacePhotoMetadataList 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlacePhotoMetadataList 
     : 
     NSObject 
     
    
  • This class represents a single place review.

    Declaration

    Swift

      class 
     GMSPlaceReview 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceReview 
     : 
     NSObject 
     
    
  • AI-generated summary of the place using user reviews.

    Declaration

    Swift

      class 
     GMSPlaceReviewSummary 
     : 
     NSObject 
     , 
      GMSPlaceAISummary 
     
     
    

    Objective-C

      @interface 
     GMSPlaceReviewSummary 
     : 
     NSObject 
     < 
      GMSPlaceAISummary 
     
     > 
     
    
  • Represents a text search request definition to be sent via GMSPlacesClient .

    Declaration

    Swift

      class 
     GMSPlaceSearchByTextRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceSearchByTextRequest 
     : 
     NSObject 
     
    
  • Request object to use with GMSPlacesClient to fetch nearby places.

    Declaration

    Swift

      class 
     GMSPlaceSearchNearbyRequest 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceSearchNearbyRequest 
     : 
     NSObject 
     
    
  • Represents information on a particular day which may have opening hours different than normal.

    Declaration

    Swift

      class 
     GMSPlaceSpecialDay 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceSpecialDay 
     : 
     NSObject 
     
    
  • GMSPlaceViewportInfo represents a rectangular bounding box on the Earth’s surface. GMSPlaceViewportInfo is immutable and can’t be modified after construction.

    Declaration

    Swift

      class 
     GMSPlaceViewportInfo 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlaceViewportInfo 
     : 
     NSObject 
     
    
  • Main interface to the Places SDK. Used for searching and getting details about places. This class should be accessed through the [GMSPlacesClient sharedClient] method.

    GMSPlacesClient methods should only be called from the main thread. Calling these methods from another thread will result in an exception or undefined behavior. Unless otherwise specified, all callbacks will be invoked on the main thread.

    Declaration

    Swift

      class 
     GMSPlacesClient 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlacesClient 
     : 
     NSObject 
     
    
  • A class containing the Plus codes representation for a location. See https://plus.codes/ for more details.

    Declaration

    Swift

      class 
     GMSPlusCode 
     : 
     NSObject 
     
    

    Objective-C

      @interface 
     GMSPlusCode 
     : 
     NSObject 
     
    
Create a Mobile Website
View Site in Mobile | Classic
Share by: