# Photo

    @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
    struct Photo

    extension Photo : Copyable, CustomStringConvertible, Equatable, Escapable, Hashable, Sendable, SendableMetatype

The metadata corresponding to a single photo associated with a place.
- `
  ### [==(_:_:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV2eeoiySbAC_ACtFZ)

  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`, `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: Photo, rhs: Photo) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `
  ### [attributions](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV12attributions10Foundation16AttributedStringVSgvp)

  ` The data provider attribution string for this photo.

  These are provided as a NSAttributedString, which may contain hyperlinks to the website of each provider.

  In general, these must be shown to the user if data from this `PlacePhotoMetadata` is shown, as described in the Places SDK Terms of Service.

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      var attributions: AttributedString? { get }

- `
  ### [authorAttributions](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV18authorAttributionsSayAA17AuthorAttributionVGvp)

  `

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      var authorAttributions: [https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/AuthorAttribution.html] { get }

- `
  ### [description](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV11descriptionSSvp)

  ` A textual representation of this instance.

  Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:

      struct Point: CustomStringConvertible {
          let x: Int, y: Int

          var description: String {
              return "(\(x), \(y))"
          }
      }

      let p = Point(x: 21, y: 30)
      let s = String(describing: p)
      print(s)
      // Prints "(21, 30)"

  The conversion of `p` to a string in the assignment to `s` uses the `Point` type's `description` property.

  #### Declaration

  Swift

      var description: String { get }

- `
  ### [hash(into:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV4hash4intoys6HasherVz_tF)

  ` Hashes the essential components of this value by feeding them into the given hasher.

  Implement this method to conform to the `Hashable` protocol. The components used for hashing must be the same as the components compared in your type's `==` operator implementation. Call `hasher.combine(_:)` with each of these components.
  Important

  In your implementation of `hash(into:)`, don't call `finalize()` on the `hasher` instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `
  ### [hashValue](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV9hashValueSivp)

  ` The hash value.

  Hash values are not guaranteed to be equal across different executions of your program. Do not save hash values to use during a future execution.
  Important
  `hashValue` is deprecated as a `Hashable` requirement. To conform to `Hashable`, implement the `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo.html#/s:17GooglePlacesSwift5PhotoV4hash4intoys6HasherVz_tF` requirement instead. The compiler provides an implementation for `hashValue` for you.

  #### Declaration

  Swift

      var hashValue: Int { get }

- `
  ### [init(maxSize:attributions:authorAttributions:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV7maxSize12attributions18authorAttributionsACSo6CGSizeV_10Foundation16AttributedStringVSgSayAA17AuthorAttributionVGtcfc)

  ` Instantiates a `Photo` with the specified information.

  `Photo`s can be gotten from a `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Place.html` object. This initializer can be used for testing.

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      init(maxSize: CGSize, attributions: AttributedString? = nil, authorAttributions: [https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/AuthorAttribution.html] = [])

  #### Parameters

  |---|---|
  | ` maxSize ` | The maximum pixel size in which this photo is available. |
  | ` attributions ` | The data provider attribution string for this photo. |
  | ` authorAttributions ` | The optional author attributions for this photo. |

  #### Return Value

  A `Photo` containing the specified information.
- `
  ### [init(maxSize:attributions:authorAttributions:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV7maxSize12attributions18authorAttributionsACSo6CGSizeV_So18NSAttributedStringCSgSayAA17AuthorAttributionVGtcfc)

  ` Instantiates a `Photo` with the specified information.

  `Photo`s can be gotten from a `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Place.html` object. This initializer can be used for testing.

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      init(maxSize: CGSize, attributions: NSAttributedString?, authorAttributions: [https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/AuthorAttribution.html] = [])

  #### Parameters

  |---|---|
  | ` maxSize ` | The maximum pixel size in which this photo is available. |
  | ` attributions ` | The data provider attribution string for this photo. |
  | ` authorAttributions ` | The optional author attributions for this photo. |

  #### Return Value

  A `Photo` containing the specified information.
- `
  ### [legacyAttributions](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV18legacyAttributionsSo18NSAttributedStringCSgvp)

  ` The data provider attribution string for this photo.

  These are provided as a NSAttributedString, which may contain hyperlinks to the website of each provider.

  In general, these must be shown to the user if data from this `PlacePhotoMetadata` is shown, as described in the Places SDK Terms of Service.

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      var legacyAttributions: NSAttributedString? { get }

- `
  ### [maxSize](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Photo#/s:17GooglePlacesSwift5PhotoV7maxSizeSo6CGSizeVvp)

  ` The maximum pixel size in which this photo is available.

  #### Declaration

  Swift

      @available(*, deprecated, message: "This struct is deprecated, please use the Place Details component (https://developers.google.com/maps/documentation/places/ios-sdk/place-details-ui-kit﹚ instead.")
      var maxSize: CGSize { get }