# GoogleMaps Framework Reference

# Protocols

The following protocols are available globally.
- `


  ### [GMSFeature](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSFeature)


  ` An interface representing a feature's metadata.

  Do not save a reference to a particular feature object because the reference will not be stable.

  #### Declaration

  Swift

      protocol Feature : NSObjectProtocol

  Objective-C

      @protocol GMSFeature <NSObject>

- `


  ### [GMSIndoorDisplayDelegate](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSIndoorDisplayDelegate)


  ` Delegate for events on `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay`.

  #### Declaration

  Swift

      protocol GMSIndoorDisplayDelegate : NSObjectProtocol

  Objective-C

      @protocol GMSIndoorDisplayDelegate <NSObject>

- `


  ### [GMSMapViewDelegate](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate)


  ` Delegate for events on `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView`.

  #### Declaration

  Swift

      protocol GMSMapViewDelegate : NSObjectProtocol

  Objective-C

      @protocol GMSMapViewDelegate <NSObject>

- `


  ### [GMSPanoramaViewDelegate](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSPanoramaViewDelegate)


  ` Delegate for events on `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSPanoramaView`.

  #### Declaration

  Swift

      protocol GMSPanoramaViewDelegate : NSObjectProtocol

  Objective-C

      @protocol GMSPanoramaViewDelegate <NSObject>

- `


  ### [GMSTileReceiver](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSTileReceiver)


  ` `GMSTileReceiver` is provided to `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSTileLayer` when a tile request is made, allowing the
  callback to be later (or immediately) invoked.

  #### Declaration

  Swift

      protocol GMSTileReceiver : NSObjectProtocol

  Objective-C

      @protocol GMSTileReceiver <NSObject>