Um renderizador de mapa atualizado está disponível a partir da versão 18.0.0 do SDK do Maps para Android. Ele traz muitas melhorias, incluindo o suporte à Estilização de mapas baseada na nuvem. Você pode testar o novo renderizador antes que ele se torne o padrão para dispositivos Android em um lançamento gradual que vai começar em junho de 2022.
Ele oferece os seguintes benefícios:
- Recursos de Estilização de mapas baseada na nuvem
- Personalizações de polilinhas avançadas
- Redução da carga de rede, da demanda de processamento e do consumo de memória
- Processamento de gestos aprimorado para melhores animações, além de deslocamento e aplicação de zoom mais suaves
- Transições mais fluidas e marcadores de mapa posicionados claramente
- Uma experiência do usuário mais estável e melhorada
Dispositivos compatíveis
Para usar o novo renderizador, os dispositivos precisam atender a estes critérios:
- Android 5.0 (nível da API 21) ou mais recente
- 2 GB ou mais de armazenamento de dados
- Versão 21.39.14 ou mais recente do Google Play Services
Os dispositivos com Android 4.4 W (nível da API 20) e anteriores, com menos 2 GB de armazenamento de dados ou com a versão 21.39.13 ou anterior do Google Play Services, vão continuar usando o renderizador legado.
Como testar o novo renderizador
Para ativar o novo renderizador, siga estas etapas:
- Atualize as dependências do app para usar o
com.google.android.gms:play-services-maps:18.0.0
ou uma versão mais recente. - Atualize o código para importar explicitamente
MapsInitializer
eMapsInitializer.Renderer
. - Atualize o código para chamar
MapsInitializer.initialize()
e solicitarRenderer.LATEST
. - Use
OnMapsSdkInitializedCallback
para determinar qual versão do renderizador foi retornada.
Seu código precisa chamar MapsInitializer.initialize()
antes da criação de qualquer MapView
, MapFragment
ou SupportMapFragment
. Recomendamos fazer essa chamada em onCreate
para Application
ou Activity
do seu app antes que a visualização do conteúdo seja definida.
O exemplo a seguir mostra como chamar MapsInitializer.initialize()
para solicitar uma versão do renderizador.
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.LATEST, 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; } } }
Kotlin
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.LATEST, 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.") } } }