# GooglePlacesSwift Framework Reference

# RouteModifiers

    struct RouteModifiers

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

Encapsulates a set of optional conditions to satisfy when calculating the routes.
- `


  ### [==(_:_:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV2eeoiySbAC_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: RouteModifiers, rhs: RouteModifiers) -> Bool

  #### Parameters

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

- `


  ### [avoidFerries](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV12avoidFerriesSbvp)


  ` When set to true, avoids ferries where reasonable, giving preference to routes not containing
  ferries. Applies only to the `Drive` and `TwoWheeler` travel modes.

  Default value is false.

  #### Declaration

  Swift

      var avoidFerries: Bool { get }

- `


  ### [avoidHighways](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV13avoidHighwaysSbvp)


  ` When set to true, avoids highways where reasonable, giving preference to routes not
  containing highways. Applies only to the `Drive` and `TwoWheeler` travel modes.

  Default value is false.

  #### Declaration

  Swift

      var avoidHighways: Bool { get }

- `


  ### [avoidIndoor](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV11avoidIndoorSbvp)


  ` When set to true, avoids navigating indoors where reasonable, giving preference to routes not
  containing indoor navigation. Applies only to the `Walk` travel mode.

  Default value is false.

  #### Declaration

  Swift

      var avoidIndoor: Bool { get }

- `


  ### [avoidTolls](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV10avoidTollsSbvp)


  ` When set to true, avoids toll roads where reasonable, giving preference to routes not
  containing toll roads. Applies only to the `Drive` and `TwoWheeler` travel modes.

  Default value is false.

  #### Declaration

  Swift

      var avoidTolls: Bool { get }

- `


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


  ` 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/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV4hash4intoys6HasherVz_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/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV9hashValueSivp)


  ` 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/RouteModifiers.html#/s:17GooglePlacesSwift14RouteModifiersV4hash4intoys6HasherVz_tF` requirement instead. The compiler provides an implementation for `hashValue` for you.

  #### Declaration

  Swift

      var hashValue: Int { get }

- `


  ### [init(avoidTolls:avoidHighways:avoidFerries:avoidIndoor:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers#/s:17GooglePlacesSwift14RouteModifiersV10avoidTolls0F8Highways0F7Ferries0F6IndoorACSb_S3btcfc)


  ` Initializes the `RouteModifiers` with the given `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers.html#/s:17GooglePlacesSwift14RouteModifiersV10avoidTollsSbvp`, `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers.html#/s:17GooglePlacesSwift14RouteModifiersV13avoidHighwaysSbvp`,
  `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers.html#/s:17GooglePlacesSwift14RouteModifiersV12avoidFerriesSbvp` and `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/RouteModifiers.html#/s:17GooglePlacesSwift14RouteModifiersV11avoidIndoorSbvp`.

  #### Declaration

  Swift

      init(avoidTolls: Bool = false, avoidHighways: Bool = false, avoidFerries: Bool = false, avoidIndoor: Bool = false)

  #### Parameters

  |---|---|
  | ` avoidTolls ` | When set to true, avoids toll roads where reasonable, giving preference to routes not containing toll roads. Applies only to the `Drive` and `TwoWheeler` travel modes. |
  | ` avoidHighways ` | When set to true, avoids highways where reasonable, giving preference to routes not containing highways. Applies only to the `Drive` and `TwoWheeler` travel modes. |
  | ` avoidFerries ` | When set to true, avoids ferries where reasonable, giving preference to routes not containing ferries. Applies only to the `Drive` and `TwoWheeler` travel modes. |
  | ` avoidIndoor ` | When set to true, avoids routes that are indoors where reasonable, giving preference to routes that are outdoors. Applies only to the `Walk` travel mode. |