You can use cloud-based map styling to define reusable map styles for the Google navigation experience in the Navigation SDK. This page provides an overview of how you can define and apply map styles, as well as specific implementation details for the Navigation SDK. For complete information about cloud-based map styling, see the Overview page in Maps SDK for iOS documentation.


Define map styles
The first step in customizing map styles for the Navigation SDK is creating a map style and associating it with a map ID. Map styles are created, stored, and edited in the Google Maps Platform Cloud Console. You then reference the map ID in your app code to display the customized map.
There are two map types in the Navigation SDK that can be styled: the navigation map, which is visible during an active navigation session, and the road map, which is visible whenever there is no navigation session active. The styles that you define and associate with a map ID apply to both the navigation and road map types.
For complete details about defining map styles, see Create and use map styles in the Maps SDK for iOS documentation.
Apply map styles
Once you have map styles associated with a map ID, you can add the ID by creating a
GMSMapID
with the map string from the Cloud Console, and then creating a
GMSMapView
specifying the map ID.
For more information about applying map styles, see Add the map ID to your app in the Maps SDK for iOS documentation.
Light and dark mode styles
Cloud-based map styling lets you define light mode and dark mode styles. In the Navigation SDK, road maps (non-navigation maps) can have light and dark modes, and navigation maps can have daylight and low-light or night modes. When you associate styles with maps in the Navigation SDK, the styles apply to both road and navigation maps:
- Light mode styles in the Cloud Console apply to both light mode road maps and daylight navigation maps.
- Dark mode styles in the Cloud Console apply to both dark mode road maps and low-light/night mode navigation maps.
Billing
When an app loads a map that has a map ID applied, a map load charged against the Dynamic Maps SKU is triggered. Note that this trigger is different from that of map loads that don't have map IDs applied. Map loads without map IDs are charged against the Maps SDK SKU. For more information about triggers and pricing for each SKU, see Pricing.
Policies and use
When customizing map styles in the Navigation SDK, you must adhere to the policies regarding acceptable modifications to the navigation UI. In particular, you must not remove road networks from the navigation map or significantly reduce color contrast of map features on the navigation map.
For complete details about acceptable modifications to the Navigation UI, see Policies for Navigation SDK for iOS.