SearchOptions

public struct SearchOptions

Search request options

  • Limit results to one or more countries. Permitted values are ISO 3166 alpha 2 country codes (e.g. US, DE, GB)

    Declaration

    Swift

    public var countries: [String]?
  • List of language codes which used to provide localized results, order matters.

    Locale.preferredLanguages used as default or ["en"] if none. Specify the user’s language. This parameter controls the language of the text supplied in responses, and also affects result scoring, with results matching the user’s query in the requested language being preferred over results that match in another language. For example, an autocomplete query for things that start with Frank might return Frankfurt as the first result with an English (en) language parameter, but Frankreich (“France”) with a German (de) language parameter.

    Note

    Geocoding API supports a few languages, SBS – only one

    Declaration

    Swift

    public var languages: [String]
  • Specify the maximum number of results to return.

    Geocoding API supports 10 results as a maximum. The Single-Box Search (aka SBS) have very high limits.

    Declaration

    Swift

    public var limit: Int?
  • Use non-strict (true) or strict (false) matching

    Specify whether the Geocoding API should attempt approximate, as well as exact, matching when performing searches (true, default), or whether it should opt out of this behavior and only attempt exact matching (false). For example, the default setting might return Washington, DC for a query of wahsington, even though the query was misspelled

    Note

    Geocoding API only

    Declaration

    Swift

    public var fuzzyMatch: Bool?
  • Coordinate to search around

    Declaration

    Swift

    public var proximity: CLLocationCoordinate2D?
  • Limit results to only those contained within the supplied bounding box. The bounding box cannot cross the 180th meridian.

    Declaration

    Swift

    public var boundingBox: BoundingBox?
  • In case boundingBox was applied, places search will look though all available tiles, ignoring the bounding box. Other search types (Address, POI, Category) will no be affected by this setting. In case boundingBox was not applied - this param will not be used.

    Declaration

    Swift

    public var offlineSearchPlacesOutsideBbox: Bool
  • Search origin point. This point is used for calculation of SearchResult ETA and distance fields. Set appropriate navigationProfile for better calculation of ETA. If no origin location specified, distance will be calculated based on proximity point.

    Note

    Single-Box Search API only

    Declaration

    Swift

    public var origin: CLLocationCoordinate2D?
  • Navigation options used for proper calculation of ETA and results ranking

    Note

    Single-Box Search API only

    Declaration

    Swift

    public var navigationOptions: SearchNavigationOptions?
  • Options to filter search results along the route

    Note

    Single-Box Search API only

    Declaration

    Swift

    public var routeOptions: RouteOptions?
  • Filter results to include only a subset (one or more) of the available types.

    Declaration

    Swift

    public var filterTypes: [SearchQueryType]?
  • Do not search external records in IndexableDataProviders. Defaults to false

    Attention

    History and Favorites functionality is implemented as IndexableDataProviders

    Declaration

    Swift

    public var ignoreIndexableRecords: Bool
  • Radius of circle around proximity to filter indexable records

    Ignored for missing proximity value.

    Declaration

    Swift

    public var indexableRecordsDistanceThreshold: CLLocationDistance?
  • Non-verified query parameters to the server API

    Attention

    May break engine entity functionality. Do not use without SDK developers agreement

    Declaration

    Swift

    public var unsafeParameters: [String : String]?
  • The locale in which results should be returned.

    This property affects the language of returned results; generally speaking, it does not determine which results are found. Components other than the language code, such as the country and script codes, are ignored.

    If locale option is set, languages option will be ignored.

    By default, this property is set to nil, causing results to be in the default language.

    Declaration

    Swift

    public var locale: Locale?
  • Search request options constructor

    Declaration

    Swift

    public init(
        countries: [String]? = nil,
        languages: [String]? = nil,
        limit: Int? = nil,
        fuzzyMatch: Bool? = nil,
        proximity: CLLocationCoordinate2D? = nil,
        boundingBox: BoundingBox? = nil,
        offlineSearchPlacesOutsideBbox: Bool = false,
        origin: CLLocationCoordinate2D? = nil,
        navigationOptions: SearchNavigationOptions? = nil,
        routeOptions: RouteOptions? = nil,
        filterTypes: [SearchQueryType]? = nil,
        ignoreIndexableRecords: Bool = false,
        indexableRecordsDistanceThreshold: CLLocationDistance? = nil,
        unsafeParameters: [String: String]? = nil
    )

    Parameters

    countries

    Limit results to one or more countries. Permitted values are ISO 3166 alpha 2 country codes (e.g. US, DE, GB)

    languages

    List of language codes which used to provide localized results, order matters. Locale.preferredLanguages used as default or [“en”] if none.

    limit

    Specify the maximum number of results to return

    fuzzyMatch

    Use non-strict (true) or strict (false) matching

    proximity

    Coordinate to search around

    boundingBox

    Limit search result to a region

    origin

    Search origin point. This point is used for calculation of SearchResult ETA and distance fields

    navigationOptions

    Navigation options used for proper calculation of ETA and results ranking

    routeOptions

    Options to filter search results along the route

    filterTypes

    Filter results by types. CategorySearchEngine doesn’t support that option.

    ignoreIndexableRecords

    Do not search external records in IndexableDataProviders

    indexableRecordsDistanceThreshold

    Radius of circle around proximity to filter indexable records

    unsafeParameters

    Non-verified query parameters to the server API

  • Search request options with custom proximity.

    Declaration

    Swift

    public init(proximity: CLLocationCoordinate2D, origin: CLLocationCoordinate2D? = nil, limit: Int? = nil)

    Parameters

    proximity

    Coordinate to search around

    origin

    Search origin point. This point is used for calculation of SearchResult ETA and distance fields. If no origin location specified, distance will be calculated based on proximity point.

    limit

    Specify the maximum number of results to return

  • Search request options with custom bounding box.

    Declaration

    Swift

    public init(boundingBox: BoundingBox, origin: CLLocationCoordinate2D? = nil, limit: Int? = nil)

    Parameters

    boundingBox

    Limit search result to a region

    origin

    Search origin point. This point is used for calculation of SearchResult ETA and distance fields. If no origin location specified, distance will be calculated based on proximity point.

    limit

    Specify the maximum number of results to return

  • Search request options with navigation options and origin.

    Declaration

    Swift

    public init(navigationOptions: SearchNavigationOptions, origin: CLLocationCoordinate2D? = nil)

    Parameters

    navigationOptions

    Navigation options used for proper calculation of ETA and results ranking

    origin

    Search origin point. This point is used for calculation of SearchResult ETA and distance fields. If no origin location specified, distance will be calculated based on proximity point.

  • Search request options with route options for Search Along the Route

    Declaration

    Swift

    public init(routeOptions: RouteOptions)

    Parameters

    routeOptions

    Options to filter search results along the route

  • Delay before actual search request would be sent to the server That helps to reduce pressure on the server

    Declaration

    Swift

    public var defaultDebounce: TimeInterval