StructuredSearchSession
public protocol StructuredSearchSession
A session represents the current state of the structured search process. The search proceeds as a series of steps and intermediate searches until the client reaches the destination address.
- The session starts with the
StructuredSearchSession.fetchStructuredSearchState(completion:)
call, which returns the initial state. - Then, the client can select a candidate in the current step with the ‘StructuredSearchSession.selectCandidate(candidate:completion:)
call. [Optional] 3. After proceeding with the search, the client can go back to the previous step with the
StructuredSearchSession.goBack(step:completion:)` call.
Here is a flow to get to the house address using Structured Search:
- prefecture/metropolitan -> municipality -> oaza -> chome/aza -> (gaiku-)houseNumber(-sub)
For example:
“Japan” -> “Saitama Prefecture” -> “Saitama City Minami Ward” -> “Negishi” -> “5 chome” -> “2-13-3”
Note
for more information, seeStructuredSearch
documentation.
Fetch the current structured search state. This can be used to retrieve the initial state with candidates representing the top level of address, such as country.
Note
to proceed with the search, use theStructuredSearchSession.selectCandidate(candidate:completion:)
call.
Declaration
Swift
func fetchStructuredSearchState(completion: @escaping (Result<StructuredSearchResponse, Error>) -> ())
Parameters
completion
|
The completion closure is called after the response to the request has been processed.
If no errors occurred, |
goBack(completion:)
Extension method
Go back to the previous selection from current step. If nothing was selected before, nothing will happen.
Declaration
Swift
public func goBack(completion: @escaping (Result<StructuredSearchResponse, Error>) -> ())
Parameters
completion
|
The completion closure is called after the response to the request has been processed.
If no errors occurred, |
Go back to previous selection from current step.
step
must be a positive value.
If step
is larger than the number of steps that have been taken,
e.g. goBack
is called with step
set to 9 at the third step, it goes back to the first step.
Declaration
Swift
func goBack(step: Int, completion: @escaping (Result<StructuredSearchResponse, Error>) -> ())
Parameters
step
|
The number of step to go back. |
completion
|
The completion closure is called after the response to the request has been processed.
If no errors occurred, |
Select a specific candidate in the current step. This will advance to the next step of the search path.
Note
to go back to the previous step, use theStructuredSearchSession.goBack(step:completion:)
call.
Declaration
Swift
func selectCandidate(
candidate: StructuredSearchCandidate,
completion: @escaping (Result<StructuredSearchResponse, Error>) -> ()
)
Parameters
candidate
|
The candidate to select in the current step. |
completion
|
The completion closure is called after the response to the request has been processed.
If no errors occurred, |
Set locale for the search session.
The locale is used to find the best representation of strings in StructuredSearchCandidate
.
Declaration
Swift
func setLocale(locale: Locale, completion: @escaping (Result<StructuredSearchResponse, Error>) -> ())
Parameters
locale
|
The preferred |
completion
|
The completion closure is called after changing locale has been finished.
If no errors occurred, |