Saltar al contenido

Configuración de Android

GitHub
Grabación en emulador Android con Google Maps: pines del localizador de tiendas, zonas de entrega, ruta, 500 marcadores agrupados, cámara 3D inclinada y tipos de mapa satelital

Android usa el Google Maps SDK. Añade tu clave API como metadato del manifest en android/app/src/main/AndroidManifest.xml dentro del <application>:

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${GOOGLE_MAPS_API_KEY}" />

Dentro de android { defaultConfig { ... } } en android/app/build.gradle, mapea el placeholder a una variable de entorno o secreto local:

android {
defaultConfig {
manifestPlaceholders = [
GOOGLE_MAPS_API_KEY: System.getenv("GOOGLE_MAPS_API_KEY") ?: "REPLACE_WITH_YOUR_GOOGLE_MAPS_API_KEY"
]
}
}

Exportar GOOGLE_MAPS_API_KEY antes de compilar, o Gradle inyecta el string de fallback y el Maps SDK falla en runtime.

Activar Maps SDK para Android para la clave en Google Cloud Console. Pasa la misma clave a NativeMap.create({ apiKey }) para mantener la consistencia con los builds web.

Durante create, el plugin adjunta un MapView debajo de la Capacitor WebView, llama a bringToFront() en la WebView y establece webView.setBackgroundColor(Color.TRANSPARENT) para que tu UI de HTML se renderice sobre el mapa.

Para mapas embebidos, pasa un elemento contenedor a NativeMap.create({ element }). El plugin mide ese elemento y mantiene el frame del mapa nativo sincronizado al redimensionar o hacer scroll.

Para modo en segundo plano, pasa toBack: true y establece config.x, config.y, config.width, y config.height (viewport defaults apply when omitted). Call updateLayout cuando el tamaño o la orientación de la ventana cambien para que el MapView se mantenga alineado con el WebView.