PlaceListMapTemplate.Builder
public final class PlaceListMapTemplate.Builder
A builder of PlaceListMapTemplate.
Summary
Public methods |
|
|---|---|
@NonNull PlaceListMapTemplate |
build()Constructs the template defined by this builder. |
@NonNull PlaceListMapTemplate.Builder |
setActionStrip(@NonNull ActionStrip actionStrip)Sets the |
@NonNull PlaceListMapTemplate.Builder |
Sets the anchor maker on the map. |
@NonNull PlaceListMapTemplate.Builder |
setCurrentLocationEnabled(boolean isEnabled)Sets whether to show the current location in the map. |
@NonNull PlaceListMapTemplate.Builder |
setHeaderAction(@NonNull Action headerAction)Sets the |
@NonNull PlaceListMapTemplate.Builder |
setItemList(@NonNull ItemList itemList)Sets an |
@NonNull PlaceListMapTemplate.Builder |
setLoading(boolean isLoading)Sets whether the template is in a loading state. |
@NonNull PlaceListMapTemplate.Builder |
@RequiresCarApi(value = 5)Sets the |
@NonNull PlaceListMapTemplate.Builder |
Sets the title of the template, with support for multiple length variants. |
@NonNull PlaceListMapTemplate.Builder |
setTitle(@NonNull CharSequence title)Sets the title of the template. |
Public methods
build
public @NonNull PlaceListMapTemplate build()
Constructs the template defined by this builder.
RequirementsIf neither header Action nor title have been set on the template, the header is hidden.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if the template is in a loading state but the list is set, or vice versa |
setActionStrip
public @NonNull PlaceListMapTemplate.Builder setActionStrip(@NonNull ActionStrip actionStrip)
Sets the ActionStrip for this template.
Unless set with this method, the template will not have an action strip.
The Action buttons in Map Based Template are automatically adjusted based on the screen size. On narrow width screen, icon Actions show by default. If no icon specify, showing title Actions instead. On wider width screen, title Actions show by default. If no title specify, showing icon Actions instead.
Actions in its ActionStrip. Of the 4 allowed Actions, it can either be a title Action as set via setTitle, or a icon Action as set via setIcon.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
java.lang.NullPointerException |
if |
setAnchor
public @NonNull PlaceListMapTemplate.Builder setAnchor(@NonNull Place anchor)
Sets the anchor maker on the map.
An anchor marker will not be displayed unless set with this method.
The anchor marker is displayed differently from other markers by the host.
If not null, an anchor marker will be shown at the specified CarLocation on the map. The camera will adapt to always have the anchor marker visible within its viewport, along with other places' markers from Row that are currently visible in the Pane. This can be used to provide a reference point on the map (e.g. the center of a search region) as the user pages through the Pane's markers, for example.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
setCurrentLocationEnabled
public @NonNull PlaceListMapTemplate.Builder setCurrentLocationEnabled(boolean isEnabled)
Sets whether to show the current location in the map.
The map template will show the user's current location on the map.
This functionality requires the app to have either the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permission. When isEnabled is true, the host may receive location updates from the app in order to show the user's current location.
setHeaderAction
public @NonNull PlaceListMapTemplate.Builder setHeaderAction(@NonNull Action headerAction)
Sets the Action that will be displayed in the header of the template.
Unless set with this method, the template will not have a header action.
Requirements This template only supports either one ofAPP_ICON and BACK as a header Action.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
java.lang.NullPointerException |
if |
setItemList
public @NonNull PlaceListMapTemplate.Builder setItemList(@NonNull ItemList itemList)
Sets an ItemList to show in a list view along with the map.
Unless set with this method, the template will not show an item list.
To show a marker corresponding to a point of interest represented by a row, set the Place instance via setMetadata. The host will display the PlaceMarker in both the map and the list view as the row becomes visible.
ItemList should be smaller or equal than the limit provided by CONTENT_LIMIT_TYPE_PLACE_LIST. The host will ignore any items over that limit. The list itself cannot be selectable as set via setOnSelectedListener. Each Row can add up to 2 lines of texts via addText and cannot contain a Toggle.
Images of type IMAGE_TYPE_LARGE are not allowed in this template.
Rows are not allowed to have both and an image and a place marker.
All non-browsable rows must have a DistanceSpan attached to either its title or texts to indicate the distance of the point of interest from the current location. A row is browsable when it's configured like so with setBrowsable.
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if |
java.lang.NullPointerException |
if |
| See also | |
|---|---|
getContentLimit |
setLoading
public @NonNull PlaceListMapTemplate.Builder setLoading(boolean isLoading)
Sets whether the template is in a loading state.
If set to true, the UI will display a loading indicator where the list content would be otherwise. The caller is expected to call invalidate and send the new template content to the host once the data is ready. If set to false, the UI shows the ItemList contents added via setItemList.
setOnContentRefreshListener
@RequiresCarApi(value = 5)
public @NonNull PlaceListMapTemplate.Builder setOnContentRefreshListener(
@NonNull OnContentRefreshListener onContentRefreshListener
)
Sets the OnContentRefreshListener to call when the user requests for the list contents to be refreshed in this template.
When the listener is triggered, an app can send a new PlaceListMapTemplate, for example, to show a new set of point-of-interests based on the current user location, without the car host counting it against the template quota described in onGetTemplate.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
setTitle
public @NonNull PlaceListMapTemplate.Builder setTitle(@NonNull CarText title)
Sets the title of the template, with support for multiple length variants.
Only DistanceSpans and DurationSpans are supported in the input string.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
| See also | |
|---|---|
CarText |
setTitle
public @NonNull PlaceListMapTemplate.Builder setTitle(@NonNull CharSequence title)
Sets the title of the template.
Only DistanceSpans and DurationSpans are supported in the input string.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
| See also | |
|---|---|
CarText |