GoogleNavigation Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
GMSNavigationDirectionsListController
@interface GMSNavigationDirectionsListController : NSObject
A controller that manages and displays a directions list. The controller maintains its
own states internally based on the associated navigator
. The directionsListView
is updated
automatically based on navigator
states.
-
The view that displays the directions list. The view is lazy loaded when it is accessed for the
first time.
Declaration
Swift
var directionsListView: UIView { get }
Objective-C
@property (nonatomic, readonly) UIView *_Nonnull directionsListView;
-
Initializes the controller with a navigator
.
Declaration
Objective-C
- (nonnull instancetype)initWithNavigator:(nonnull GMSNavigator *)navigator;
Parameters
navigator
|
The controller automatically updates the list based on the current state of the
navigator after directionsListView is accessed for the first time.
|
-
Updates the data source from the latest navigator
state and reload the list. Calling this
method before directionsListView
is accessed for the first time results in no-op.
Declaration
Objective-C
- (void)reloadData;
-
Invalidates the layout of the directionsListView
. This should be called during events
such as rotations and view size changes. Calling this method before directionsListView
is
accessed for the first time results in no-op.
Declaration
Swift
func invalidateLayout()
Objective-C
- (void)invalidateLayout;
-
Declaration
Objective-C
- (null_unspecified instancetype)init;
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-27 UTC.
[null,null,["Last updated 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003eGMSNavigationDirectionsListController\u003c/code\u003e manages and displays a directions list, updating automatically based on an associated navigator's state.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003edirectionsListView\u003c/code\u003e property provides access to the view displaying the directions, but it's lazy-loaded upon first access.\u003c/p\u003e\n"],["\u003cp\u003eThis controller is initialized with a \u003ccode\u003eGMSNavigator\u003c/code\u003e instance which drives the list's content and updates.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ereloadData\u003c/code\u003e and \u003ccode\u003einvalidateLayout\u003c/code\u003e methods allow for manual refreshing of the list data and layout, respectively, but are ineffective before the \u003ccode\u003edirectionsListView\u003c/code\u003e is accessed.\u003c/p\u003e\n"],["\u003cp\u003eDirect initialization using \u003ccode\u003einit\u003c/code\u003e is unavailable; instead, use \u003ccode\u003einitWithNavigator:\u003c/code\u003e to provide the necessary navigator instance.\u003c/p\u003e\n"]]],["The `GMSNavigationDirectionsListController` manages and displays a directions list, updating automatically based on the associated `navigator`'s state. Key actions include initializing with a `navigator` using `initWithNavigator:`, accessing the directions list view via `directionsListView`, updating the list with `reloadData`, and adjusting the view's layout via `invalidateLayout`. `reloadData` and `invalidateLayout` only work after `directionsListView` is accessed. The basic `init` is not allowed.\n"],null,["# GoogleNavigation Framework Reference\n\nGMSNavigationDirectionsListController\n=====================================\n\n @interface GMSNavigationDirectionsListController : NSObject\n\nA controller that manages and displays a directions list. The controller maintains its\nown states internally based on the associated `navigator`. The `directionsListView` is updated\nautomatically based on `navigator` states.\n- `\n ``\n ``\n `\n\n ### [directionsListView](#/c:objc(cs)GMSNavigationDirectionsListController(py)directionsListView)\n\n `\n ` \n The view that displays the directions list. The view is lazy loaded when it is accessed for the\n first time. \n\n #### Declaration\n\n Swift \n\n var directionsListView: UIView { get }\n\n Objective-C \n\n @property (nonatomic, readonly) UIView *_Nonnull directionsListView;\n\n- `\n ``\n ``\n `\n\n ### [-initWithNavigator:](#/c:objc(cs)GMSNavigationDirectionsListController(im)initWithNavigator:)\n\n `\n ` \n Initializes the controller with a `navigator`. \n\n #### Declaration\n\n Swift \n\n init(navigator: ../Classes/GMSNavigator.html)\n\n Objective-C \n\n - (nonnull instancetype)initWithNavigator:(nonnull ../Classes/GMSNavigator.html *)navigator;\n\n #### Parameters\n\n |-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | ` `*navigator*` ` | The controller automatically updates the list based on the current state of the `navigator` after [directionsListView](../Classes/GMSNavigationDirectionsListController.html#/c:objc(cs)GMSNavigationDirectionsListController(py)directionsListView) is accessed for the first time. |\n\n- `\n ``\n ``\n `\n\n ### [-reloadData](#/c:objc(cs)GMSNavigationDirectionsListController(im)reloadData)\n\n `\n ` \n Updates the data source from the latest `navigator` state and reload the list. Calling this\n method before [directionsListView](../Classes/GMSNavigationDirectionsListController.html#/c:objc(cs)GMSNavigationDirectionsListController(py)directionsListView) is accessed for the first time results in no-op. \n\n #### Declaration\n\n Swift \n\n func reloadData()\n\n Objective-C \n\n - (void)reloadData;\n\n- `\n ``\n ``\n `\n\n ### [-invalidateLayout](#/c:objc(cs)GMSNavigationDirectionsListController(im)invalidateLayout)\n\n `\n ` \n Invalidates the layout of the [directionsListView](../Classes/GMSNavigationDirectionsListController.html#/c:objc(cs)GMSNavigationDirectionsListController(py)directionsListView). This should be called during events\n such as rotations and view size changes. Calling this method before [directionsListView](../Classes/GMSNavigationDirectionsListController.html#/c:objc(cs)GMSNavigationDirectionsListController(py)directionsListView) is\n accessed for the first time results in no-op. \n\n #### Declaration\n\n Swift \n\n func invalidateLayout()\n\n Objective-C \n\n - (void)invalidateLayout;\n\n- `\n ``\n ``\n `\n\n ### [-init](#/c:objc(cs)GMSNavigationDirectionsListController(im)init)\n\n `\n ` \n Unavailable \n Use [-initWithNavigator:](../Classes/GMSNavigationDirectionsListController.html#/c:objc(cs)GMSNavigationDirectionsListController(im)initWithNavigator:) instead. \n\n #### Declaration\n\n Objective-C \n\n - (null_unspecified instancetype)init;"]]