Novo renderizador de mapa

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:

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.")
    }
  }
}