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 requestsDeclaration
Swift
@MainActor public var categorySearchEngine: CategorySearchEngine
-
Actual
SearchEngine
used for query-based searchesDeclaration
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 fatalErrorDeclaration
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 moreDeclaration
Swift
public enum PresentationStyle
-
Get access to the
MapboxPanelController
for.panel
presentation styleDeclaration
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
-
Update suggestion table or show empty suggestions view.
Declaration
Swift
@MainActor public func suggestionsUpdated(suggestions: [SearchSuggestion], searchEngine: SearchEngine)
-
Declaration
Swift
@MainActor public func offlineResultsUpdated( _ results: [SearchResult], suggestions: [SearchSuggestion], searchEngine: SearchEngine )
-
Preserve result in the
historyProvider
and pass object to thedelegate
.Declaration
Swift
@MainActor public func resultResolved(result: SearchResult, searchEngine: SearchEngine)
-
Display search error on results table view.
Declaration
Swift
@MainActor public func searchErrorHappened(searchError: SearchError, searchEngine: SearchEngine)