RegionRoutingRepository
Here, you can retrieve detailed information about routes for either all operators in a region, or a specified operator
Get routes in a region
With RegionRoutingRepository, you can fetch routes for a specific region by either providing its name or your Location along with a query, to search for a route name, and operatorId if you have.
Make sure you you've initialized TripKitUI to create an instance and access its services
You can access RegionRoutingRepository with TripKitUI.getInstance().regionRoutingRepository()
Get routes with region name, query, modes and operator id
fun getRegionRoutes(
region: String,
query: String? = null,
modes: List<String> = emptyList(),
operatorId: String? = null
): Single<List<RegionRoute>>
Parameters
Name Type Required region String Yes query String No modes List No operatorId String No Response
(RxJava Single) List of
RegionRouteSample
TripKitUI.getInstance().regionRoutingRepository().getRegionRoutes(
region = "US_CA_RegionName",
query = "Metro",
modes = listOf("pt_pub_sample"),
operatorId = "sampleId"
).subscribe {
// Handle response here
}
Get routes with string query and Location
fun getRoutes(
query: String,
location: Location?
): Observable<List<RegionRoute>>
Parameters
Name Type Required query String Yes location LocationYes Response
(RxJava Observable) List of
RegionRouteSample
val location: Location? = Location(-33.9504502,151.0309)
TripKitUI.getInstance().regionRoutingRepository().getRoutes(
query = "Metro",
location = location
).subscribe {
// Handle response here
}
Get routes with region name and query
fun getRoutes(
regionName: String,
query: String
): Single<List<RegionRoute>>
Parameters
Name Type Required regionName String Yes query String Yes Response
(RxJava Single) List of
RegionRouteSample
TripKitUI.getInstance().regionRoutingRepository().getRoutes(
regionName = "US_CA_RegionName"
query = "Metro"
).subscribe {
// Handle response here
}
Get details of a route
fun getRegionRouteInfo(
region: String,
operatorId: String,
routeID: Int
): Single<RouteDetails>
Parameters
| Name | Type | Required |
|---|---|---|
| region | String | Yes |
| operatorId | String | Yes |
| routeID | Int | Yes |
Response
(RxJava Single) RouteDetails
Sample
TripKitUI.getInstance().regionRoutingRepository().getRegionRouteInfo(
regionName = "US_CA_RegionName"
operatorId = "Sample_Rail",
routeID = 123
).subscribe {
// Handle response here
}
Autocompleter
First, declare RegionRoutingAutoCompleter
private val regionRoutingAutoCompleter: RegionRoutingAutoCompleter = TripKitUI.getInstance().regionRoutingAutoCompleter()
or
private val regionRoutingAutoCompleter: RegionRoutingAutoCompleter by lazy {
TripKitUI.getInstance().regionRoutingAutoCompleter()
}
then setup observer and get result as List<RegionRoute>
regionRoutingAutoCompleter.observe({
//get results for the queries here as List<RegionRoute>
}, {
it.printStackTrace()
}
Use AutoCompleteQuery to build a query to send on the RegionRoutingAutoCompleter
By Region Name
AutoCompleteQuery.Builder(
your_query_here_as_string
).byRegionName(your_region_name_here).build()
By Location
AutoCompleteQuery.Builder( your_query_here_as_string ).byLocation(location_object_here).build()
Lastly, send the query to the RegionRoutingAutoCompleter
regionRoutingAutoCompleter.sendQuery(
RegionRoutingAutoCompleter.AutoCompleteQuery.Builder(
"sample query"
).byRegionName("REGION_NAME").build()
)
and get the result from the observer that you setup earlier.