Nuevo procesador de mapas

A partir de la versión 18.0.0 del SDK de Maps para Android, hay disponible un procesador de mapas actualizado. Este procesador ofrece muchas mejoras, como la compatibilidad con el diseño de mapas basado en Cloud. Puedes aceptar probar el nuevo procesador antes de que se convierta en el predeterminado para dispositivos Android mediante un lanzamiento progresivo a partir de junio de 2022.

El nuevo procesador proporciona los siguientes beneficios:

  • Funciones de diseño de mapas basado en Cloud disponibles con el nuevo procesador.
  • Personalizaciones avanzadas de polilíneas disponibles con el nuevo procesador
  • Menor carga de red, demanda de procesamiento y consumo de memoria
  • Control de gestos mejorado para mejores animaciones, además de desplazamiento lateral y zoom más fluidos
  • Transiciones más fluidas y etiquetas de mapa claramente posicionadas
  • Una experiencia del usuario más estable y mejorada

Dispositivos compatibles

Para usar el nuevo procesador, los dispositivos deben cumplir con los siguientes requisitos:

  • Android 5.0 (nivel de API 21) o una versión posterior
  • 2 GB o más de almacenamiento de datos
  • Usar la versión 21.39.14 o una posterior de los Servicios de Google Play

Los dispositivos que utilicen Android 4.4W (nivel de API 20) y versiones anteriores, o que tengan menos de 2 GB de almacenamiento de datos, o bien aquellos que utilicen la versión 21.39.13 o una anterior de los Servicios de Google Play seguirán usando el procesador heredado.

Cómo probar el nuevo procesador

Para habilitar el nuevo procesador, sigue estos pasos:

Tu código debe llamar a MapsInitializer.initialize() antes de que se cree cualquiera de estos elementos: MapView, MapFragment o SupportMapFragment. Te recomendamos que se haga la llamada en onCreate para Application o Activity de tu app, antes de que quede configurada su vista de contenido.

En el siguiente ejemplo, se muestra cómo llamar a MapsInitializer.initialize() para solicitar una versión del procesador.

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