MapboxSearchController

@MainActor
public class MapboxSearchController : UIViewController
extension MapboxSearchController: SearchEngineDelegate

Provides built-in location search functionality powered by Mapbox

  • Custom search bar placeholder

    Declaration

    Swift

    @MainActor
    public var searchBarPlaceholder: String? { get set }
  • Provider of customer’s favorite records

    Declaration

    Swift

    @MainActor
    public var favoritesProvider: FavoritesProvider
  • Provider of recent searches

    Declaration

    Swift

    @MainActor
    public var historyProvider: HistoryProvider
  • Actual CategorySearchEngine used for category search requests

    Declaration

    Swift

    @MainActor
    public var categorySearchEngine: CategorySearchEngine
  • Actual SearchEngine used for query-based searches

    Declaration

    Swift

    @MainActor
    public var searchEngine: SearchEngine { get set }
  • Options used to customize search, nil by default.

    Declaration

    Swift

    @MainActor
    public var searchOptions: SearchOptions?
  • Options used to customize category search, nil by default.

    Declaration

    Swift

    @MainActor
    public var categorySearchOptions: SearchOptions?
  • Structure to configure MapboxSearchController UI and logic

    Declaration

    Swift

    @MainActor
    public var configuration: Configuration { get set }
  • The object that the search controller calls with the result of user actions

    Declaration

    Swift

    @MainActor
    public weak var delegate: SearchControllerDelegate?
  • Instantiate MapboxSearchController with explicit accessToken and custom location provider

    Declaration

    Swift

    @available(*, deprecated, message: "Specify ApiType explicitly instead.")
    @MainActor
    public convenience init(
        accessToken: String? = nil,
        configuration: Configuration = Configuration())

    Parameters

    accessToken

    Mapbox public access token.

    configuration

    configuration for search and categorySearch engines.

  • Instantiate MapboxSearchController with explicit accessToken and custom location provider

    Declaration

    Swift

    @MainActor
    public required init(
        apiType: ApiType,
        accessToken: String?,
        configuration: Configuration = Configuration())

    Parameters

    apiType

    Specifies which API provider to use through this search feature.

    accessToken

    Mapbox public access token.

    configuration

    configuration for search and categorySearch engines.

  • MapboxSearchController initializer with accessToken taken from application Info.plist

    Access token is expected to be at MBXAccessToken key in application Info.plist. Missing accessToken will trigger fatalError

    Declaration

    Swift

    @MainActor
    public required init(
        apiType: ApiType,
        configuration: Configuration = Configuration()
    )

    Parameters

    apiType

    Specifies which API provider to use through this search feature.

    configuration

    configuration for search and categorySearch engines.

  • Make initial UI

    Declaration

    Swift

    @MainActor
    override public func viewDidLoad()
  • Restart listening services on screen appearance

    Declaration

    Swift

    @MainActor
    override public func viewWillAppear(_ animated: Bool)
  • Pause listening services on screen disappearance

    Declaration

    Swift

    @MainActor
    override public func viewDidDisappear(_ animated: Bool)
  • Presentation styles for MapboxSearchController. Non-animated

    See more

    Declaration

    Swift

    public enum PresentationStyle
  • Get access to the MapboxPanelController for .panel presentation style

    Declaration

    Swift

    @MainActor
    public var panelController: MapboxPanelController? { get }
  • Show Mapbox Search Controller inside of target view controller

    Declaration

    Swift

    @MainActor
    public func present(in rootVC: UIViewController, presentationStyle: PresentationStyle = .panel)

    Parameters

    rootVC

    ViewController to be root of Search Controller

    presentationStyle

    Choose one of the presentation styles. Default is .panel

  • Reset MapboxSearchController state recursively

    Declaration

    Swift

    @MainActor
    public func resetSearchUI(animated: Bool, collapse: MapboxPanelController.State? = .collapsed)

    Parameters

    animated

    Should changes be animated

    collapse

    Change the collapsing status. Pass nil to not apply status changes. Default: .collapsed