Stay organized with collections Save and categorize content based on your preferences.
An upgraded map renderer is available as of version 18.2.0 of the Maps SDK for Android. This renderer brings many improvements, including support for Cloud-based maps styling.
The new renderer provides the following benefits:
In March of 2024, Google began automatically updating all deployed apps to use the upgraded renderer. Automatic updates have been applied to all apps running on devices that meet the minimum device requirements, regardless of the version of the Maps SDK for Android used by the app. This rollout is now complete.
The automatic updates did not apply to:
Apps that have already updated to use the upgraded renderer.
Apps that have explicitly opted out of the upgrade.
Apps running on devices that don't meet the minimum device requirements.
To use the upgraded map renderer, devices must meet these criteria:
Devices using Android 4.4W (API level 20) and earlier or using Google Play services versions 21.39.13 or earlier continue to use the legacy renderer.
Opt-out of using the upgraded rendererIf necessary, you can explicitly opt-out of using the upgraded renderer to use the legacy renderer in your app.
Important: The legacy renderer is deprecated and is scheduled for decommissioning in April 2025. Follow the legacy renderer's decommissioning progress in public issue 404999856. After the legacy renderer is decommissioned, you will no longer be able to opt-out of using the upgraded renderer. However, apps running on devices that don't meet the minimum requirements for the new renderer will continue to function with the legacy renderer.To opt-out:
Upgrade Maps SDK for Android to v18.0 or greater.
Update your code to explicitly import MapsInitializer and MapsInitializer.Renderer.
Update your code to call MapsInitializer.initialize()
, passing Renderer.LEGACY
to opt-out and use the legacy renderer.
Use OnMapsSdkInitializedCallback to determine which version of the renderer was returned.
Your code must call MapsInitializer.initialize()
before any MapView, MapFragment, or SupportMapFragment has been created. We recommend calling this in onCreate
for your app's Application, or Activity, before its content view is set.
The following example shows how to call MapsInitializer.initialize()
to opt-out to use the legacy map renderer.
import com.google.android.gms.maps.MapsInitializer import com.google.android.gms.maps.MapsInitializer.Renderer import com.google.android.gms.maps.OnMapsSdkInitializedCallback internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback { override fun onCreate() { super.onCreate() MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this) } override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) { when (renderer) { Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.") Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.") } } }Java
import com.google.android.gms.maps.MapsInitializer; import com.google.android.gms.maps.MapsInitializer.Renderer; import com.google.android.gms.maps.OnMapsSdkInitializedCallback; class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback { @Override public void onCreate() { super.onCreate(); MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this); } @Override public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) { switch (renderer) { case LATEST: Log.d("MapsDemo", "The latest version of the renderer is used."); break; case LEGACY: Log.d("MapsDemo", "The legacy version of the renderer is used."); break; } } }
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-11 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-11 UTC."],[[["The Maps SDK for Android now features an upgraded map renderer with cloud-based styling and improved performance."],["Automatic updates to the new renderer are complete for eligible apps, enhancing user experience with smoother interactions and better visuals."],["Devices require Android 5.0 (API level 21) or later and Google Play services version 21.39.14 or later to use the upgraded renderer."],["Developers can opt out of the upgraded renderer and use the legacy renderer, although the legacy renderer is deprecated and will be decommissioned in March 2025."],["Opting out requires explicit initialization with `MapsInitializer` and specifying `Renderer.LEGACY` before creating any map views or fragments."]]],["The Maps SDK for Android version 18.2.0 introduced an upgraded map renderer, which was automatically rolled out to all applicable apps by March 2024. This new renderer offers cloud-based styling, advanced polyline customization, reduced resource usage, and improved performance. Devices must use Android 5.0+ and Google Play services 21.39.14+. Apps can opt-out of the upgrade to the legacy renderer by upgrading the Maps SDK to v18.0 or greater, and calling `MapsInitializer.initialize()` with `Renderer.LEGACY`. The legacy renderer will be decommissioned in March 2025.\n"]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4