Google Maps SDK — qué es, Google Maps y API para desarrollo

Autor: IT Sectr Publicado: 2026-04-30 Tiempo de lectura: 10 min

Google Maps SDK es un conjunto de herramientas de Google para integrar mapas interactivos, geocodificación, rutas y búsqueda de lugares en aplicaciones móviles y web. El SDK incluye Maps SDK para Android e iOS, Places API para trabajar con geodatos y Directions API para construir rutas. Los servicios de Google Maps procesan más de 100 mil millones de solicitudes al día, lo que convierte a Maps SDK en una de las soluciones cartográficas más eficientes. Según Google Maps Platform Documentation, 2025, el SDK se utiliza en el 60% de todas las aplicaciones móviles con mapas.

Puntos clave

  • Google Maps SDK — una plataforma para integrar mapas, geodatos y navegación en aplicaciones
  • Maps SDK — visualización de mapas interactivos con estilos y capas personalizables
  • Places API — búsqueda de lugares, geocodificación y obtención de información sobre establecimientos
  • Directions API — construcción de rutas para diferentes tipos de transporte
  • Facturación — pago por uso de API según el número de solicitudes ($2-10 por 1000 solicitudes)

¿Qué es Google Maps SDK?

Google Maps SDK es una plataforma integral para desarrolladores que proporciona herramientas para trabajar con datos geográficos en aplicaciones. La plataforma incluye varias API: Maps SDK (visualización de mapas), Routes API (rutas), Places API (búsqueda de lugares y geodatos) y Geocoding API (conversión de direcciones en coordenadas). Cada SDK se integra por separado y tiene su propio modelo de facturación.

A diferencia de Apple MapKit, Google Maps SDK ofrece un conjunto de datos más amplio: información sobre 250 millones de lugares, tráfico en tiempo real, panorámicas de Street View e Indoor Maps para edificios. Según Statista (2025), Google Maps Platform ocupa el 75% del mercado de SDK cartográficos en aplicaciones móviles. La ventaja clave es una única clave API para todos los servicios de Google Maps y la integración multiplataforma (Android, iOS, web).

Clave API y configuración de seguridad

La clave API es un elemento obligatorio para trabajar con Google Maps SDK. La clave se crea en Google Cloud Console y se vincula a un proyecto específico. Para Android, se debe especificar el certificado SHA-1 de la aplicación; para iOS, el Bundle Identifier. Google recomienda restringir el uso de la clave API por direcciones IP, referentes HTTP o paquetes de aplicaciones para evitar el acceso no autorizado.

Maps SDK para Android: Integración y características

Maps SDK para Android es una biblioteca que muestra mapas interactivos de Google dentro de una aplicación Android a través de MapView o SupportMapFragment. El SDK admite: estilos de mapa personalizados, marcadores con ventanas de información, polígonos y polilíneas, capas de tráfico y transporte, así como eventos táctiles y gestos (zoom, rotación, inclinación). Los mapas utilizan OpenGL para renderizado, ofreciendo 60 FPS en dispositivos modernos.

La integración comienza agregando la dependencia en build.gradle y configurando la clave API a través de AndroidManifest.xml. Google Maps SDK para Android requiere Google Play Services en el dispositivo. Si Google Play Services no está disponible (por ejemplo, en dispositivos Huawei sin servicios de Google), los mapas no se mostrarán. Para estos casos, Google recomienda usar soluciones alternativas o WebView con JavaScript Maps API.

kotlin
// AndroidManifest.xml — metadatos de la clave API
// 
//     android:value="YOUR_API_KEY"/>

// Fragmento de mapa en Activity
class MapActivity : AppCompatActivity(),
    OnMapReadyCallback {

    private lateinit var map: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_map)
        val mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    override fun onMapReady(googleMap: GoogleMap) {
        map = googleMap
        val sydney = LatLng(-33.8688, 151.2093)
        map.addMarker(MarkerOptions().position(sydney)
            .title("Sydney"))
        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(sydney, 12f))
    }
}

Google Maps SDK en Android admite Indoor Maps — visualización de planos de edificios (aeropuertos, centros comerciales). Simplemente establezca map.isIndoorEnabled = true para activarlo. La capa de tráfico muestra la congestión de carreteras en tiempo real — los datos se actualizan cada 2-5 minutos. La capa de transporte muestra rutas de transporte público en ciudades compatibles.

Maps SDK para iOS: Configuración y uso

Maps SDK para iOS proporciona las mismas características que la versión de Android pero adaptadas a la plataforma Apple. La integración se realiza a través de Swift Package Manager o CocoaPods. Maps SDK para iOS utiliza servidores de Google para el renderizado de mapas, pero puede funcionar junto con Apple MapKit para navegación nativa. El SDK admite iOS 15 y superior, así como SwiftUI a través de UIViewRepresentable.

Una característica específica de la versión iOS es la configuración obligatoria de Info.plist con la clave API y la adición del esquema URL para Google Maps. A diferencia de Android, el SDK de iOS no requiere Google Play Services, pero sí requiere la aplicación Google Maps instalada para algunas funciones (por ejemplo, abrir mapas en navegación). Para proyectos multiplataforma, Google recomienda una única clave API por proyecto, activada para ambas plataformas.

swift
import GoogleMaps

class MapViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let camera = GMSCameraPosition.camera(
            withLatitude: 55.7558,
            longitude: 37.6173,
            zoom: 10
        )
        let mapView = GMSMapView.map(
            withFrame: view.frame,
            camera: camera
        )
        self.view = mapView

        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(
            latitude: 55.7558,
            longitude: 37.6173
        )
        marker.title = "Moscow"
        marker.map = mapView
    }
}

En iOS, Google Maps SDK admite estilos personalizados a través de un archivo JSON en formato Google Maps Styling. Los estilos permiten cambiar los colores de carreteras, agua, parques y edificios según el diseño de la aplicación. También se admiten Heatmap Layer para visualización de densidad de datos, KML y GeoJSON para importar datos geográficos de fuentes externas.

Places API: Búsqueda de lugares y geocodificación

Places API es un servicio de Google Maps Platform para obtener información sobre lugares geográficos: direcciones, coordenadas, calificaciones, horarios, fotos y reseñas. Places API funciona en dos modos: Place Search (búsqueda por texto o radio) y Place Details (información detallada de un lugar específico por Place ID). El SDK está disponible para Android, iOS y como API REST.

Places SDK para Android e iOS permite incorporar el autocompletado de direcciones (Place Autocomplete) directamente en los campos de texto de la aplicación. Esta es una función clave para aplicaciones de entrega, taxis y logística — el usuario comienza a escribir una dirección y el SDK sugiere opciones de la base de datos de Google Maps. Place Autocomplete reduce los errores de ingreso de direcciones en un 80% en comparación con el ingreso manual. Facturación de Places API: $2.83 por 1000 solicitudes de Place Details, Place Search — $4.71 por 1000.

kotlin
// Buscar lugar por texto en Android
val placesClient = Places.createClient(context)
val request = FindCurrentPlaceRequest.builder(
    listOf(Place.Field.NAME, Place.Field.ADDRESS)
).build()

placesClient.findCurrentPlace(request)
    .addOnSuccessListener { response ->
        for (placeLikelihood in response.placeLikelihoods) {
            Log.d("Places", "${placeLikelihood.place.name} - ${placeLikelihood.likelihood}")
        }
    }

Place Autocomplete

Geocoding API — geocodificación inversa (coordenadas a dirección) y directa (dirección a coordenadas). Se utiliza para convertir una dirección ingresada por el usuario en coordenadas para mostrar en el mapa. Geocoding API se factura por separado: $4.71 por 1000 solicitudes. Google proporciona 200 solicitudes gratuitas por día por cuenta para pruebas.

Directions API: Construcción de rutas

Directions API es un servicio para calcular rutas entre dos o más puntos teniendo en cuenta el modo de transporte (coche, a pie, bicicleta, transporte público). La API devuelve múltiples rutas alternativas con distancia, tiempo de viaje, instrucciones paso a paso y una polilínea para dibujar la ruta en el mapa. Directions API está disponible como API REST y a través de SDK de cliente.

Funcionalidad extendida — Routes API (nueva API recomendada por Google desde 2024). Routes API ofrece enrutamiento mejorado con tráfico en tiempo real, enrutamiento ecológico y análisis predictivo de hora de llegada. Según Google, Routes API calcula el tiempo de viaje un 20% más preciso en condiciones urbanas en comparación con la Directions API clásica. Routes API se factura a $5.00 por 1000 solicitudes.

kotlin
// Solicitud de ruta a través de Routes API
val client = OkHttpClient()
val requestBody = """
    {
        "origin": {"location": {"latLng": {"latitude": 55.75, "longitude": 37.61}}},
        "destination": {"location": {"latLng": {"latitude": 55.79, "longitude": 37.79}}},
        "travelMode": "DRIVE",
        "routingPreference": "TRAFFIC_AWARE"
    }
""".trimIndent()

val request = Request.Builder()
    .url("https://routes.googleapis.com/directions/v2:computeRoutes")
    .header("X-Goog-Api-Key", apiKey)
    .header("Content-Type", "application/json")
    .post(requestBody.toRequestBody())
    .build()

client.newCall(request).enqueue(object : Callback {
    override fun onResponse(call: Call, response: Response) {
        Log.d("Route", response.body?.string() ?: "")
    }
})

Directions API admite hasta 25 puntos intermedios (waypoints) para una sola ruta. Los waypoints pueden especificarse como coordenadas o Place IDs. Para optimizar el orden de los puntos (problema del viajante), use el parámetro optimize:true. Precios: Directions API — $4.71 por 1000 solicitudes (hasta 10 puntos), cada punto adicional agrega un 50% al costo de la solicitud.

Personalización de mapas: Estilos, marcadores y ventanas de información

Google Maps SDK proporciona amplias opciones de personalización: cambio del esquema de colores del mapa mediante estilos JSON, adición de marcadores personalizados (incluidos animados), ventanas de información (InfoWindow) con contenido personalizado y superposición de capas gráficas (GroundOverlay, Circle, Polygon). La personalización permite adaptar el mapa a la marca de la aplicación y mejorar la experiencia del usuario.

Estilización de mapas se realiza a través de Google Maps Styling Wizard o un archivo JSON en formato Map Style. Puede cambiar los colores de carreteras (featureType: road), agua (water), parques (poi.park), edificios (building) y otros elementos. Para mapas en temas oscuros, use un estilo nocturno con fondo oscuro y colores atenuados. Google Maps admite hasta 100 reglas de estilo en un solo archivo JSON.

Elemento de personalizaciónMétodo/ClaseDescripción
MarcadoresMarkerOptions.icon(BitmapDescriptor)Icono de marcador personalizado desde recursos o URL
PolilíneasPolylineOptions.color(width)Líneas para mostrar rutas con color personalizado
PolígonosPolygonOptions.fillColor(strokeColor)Relleno de área con transparencia y contorno
InfoWindowGoogleMap.setInfoWindowAdapterContenido personalizado de ventana de información (cualquier View)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Imagen superpuesta en el área del mapa

Clustering para rendimiento

Clustering — combinación de marcadores en clústeres cuando hay una gran cantidad de puntos en el mapa. Google Maps SDK para Android e iOS incluye una utilidad de clustering integrada (com.google.maps.android:android-maps-utils). El clustering evita la saturación del mapa con marcadores en niveles de zoom bajos. Al hacer zoom, el clúster se divide automáticamente en marcadores individuales. Según Google, el clustering mejora el rendimiento del mapa en un 40% con 1000+ marcadores.

Ejemplo de código: Mapa con marcadores en Kotlin

Un ejemplo completo de visualización de un mapa con un marcador personalizado, polilínea de ruta y ventana de información. La aplicación muestra un mapa de Moscú con un punto de interés y una ruta hacia él desde el centro de la ciudad. El código demuestra las principales características de Google Maps SDK: agregar un marcador, dibujar una polilínea, mover la cámara y manejar clics.

kotlin
class MapDemoActivity : AppCompatActivity(), OnMapReadyCallback {

    override fun onMapReady(map: GoogleMap) {
        val kremlin = LatLng(55.7513, 37.6189)
        val gorkyPark = LatLng(55.7311, 37.6116)

        map.addMarker(MarkerOptions()
            .position(kremlin)
            .title("Kremlin")
            .icon(BitmapDescriptorFactory.defaultMarker(
                BitmapDescriptorFactory.HUE_RED)))

        map.addPolyline(PolylineOptions()
            .add(kremlin, gorkyPark)
            .width(5f)
            .color(Color.parseColor("#2196F3")))

        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(kremlin, 13f))

        map.setOnInfoWindowClickListener { marker ->
            Toast.makeText(this,
                "${marker.title} clicked",
                Toast.LENGTH_SHORT).show()
        }
    }
}

Recomendaciones de rendimiento: use carga asincrónica de marcadores mediante ClusterManager cuando haya más de 200 puntos, limite la cantidad de polilíneas visibles (Google recomienda no más de 100 simultáneas), use Lite Mode para mapas que no requieren funcionalidad completa (desplazamiento sin cambios de zoom). Lite Mode reduce el consumo de memoria en un 50% y acelera la carga del mapa 2 veces.

Precios y límites de Google Maps Platform

Google Maps Platform utiliza un modelo de pago por uso con un límite gratuito mensual de $200 en créditos. Cada API se factura por separado: Maps SDK — $2.83 por 1000 cargas de mapa, Places API — $4.71 por 1000 solicitudes, Directions API — $4.71 por 1000 rutas. Routes API (recomendada) — $5.00 por 1000 solicitudes. El límite gratuito de $200 generalmente cubre hasta 70,000 cargas de mapa por mes.

Para proyectos de alto tráfico, Google ofrece descuentos para volúmenes de 500,000+ solicitudes por mes. Google Maps SDK no se cobra por mostrar un mapa básico sin interacción — la tarifa solo se aplica por carga de mapa. Cada vez que un usuario abre una pantalla con un mapa, cuenta como una carga. Optimización: el almacenamiento en caché de teselas del mapa reduce la cantidad de cargas en aperturas repetidas.

Límites: 300 solicitudes por minuto para Places API (se puede aumentar a 3000 mediante cuota en Cloud Console). Para Directions API — 100 solicitudes por minuto. Superar el límite devuelve el error OVER_QUERY_LIMIT. Google recomienda usar retroceso exponencial (exponential backoff) para reintentos. El monitoreo de uso está disponible en Google Cloud Console con hasta 5 minutos de retraso.

Preguntas frecuentes

¿Cuánto cuesta usar Google Maps SDK en una aplicación móvil?

Google Maps SDK se factura con el modelo de pago por uso: $2.83 por 1000 cargas de mapa. Cada mes Google proporciona $200 en créditos gratuitos, que cubren hasta 70,000 cargas de mapa. Places API y Directions API se facturan por separado. Para proyectos pequeños con una audiencia de hasta 10,000 usuarios, los costos suelen oscilar entre $10 y $50 por mes.

¿Se puede usar Google Maps SDK sin conexión a internet?

Sí, Google Maps SDK admite mapas sin conexión mediante almacenamiento en caché de teselas. El SDK almacena automáticamente en caché hasta 1000 teselas (aproximadamente un área de 10x10 km). Para soporte completo sin conexión, use Google Maps Offline API para Android, que permite descargar el mapa de una región completa. Los mapas sin conexión no admiten tráfico, rutas ni Places API.

¿En qué se diferencia Google Maps SDK de Apple MapKit?

Google Maps SDK ofrece un conjunto de datos más amplio: 250 millones de lugares, tráfico en tiempo real, Street View, Indoor Maps. Apple MapKit es gratuito pero tiene menos datos fuera de EE. UU. y Europa. Google SDK requiere una clave API y pago, Apple MapKit no. Para proyectos multiplataforma, Google Maps SDK es preferible con una única API para ambas plataformas.

¿Cómo obtener una clave API gratuita para Google Maps?

La clave API se crea en Google Cloud Console en la sección APIs and Services, Credentials. Debe vincular la clave a una cuenta de facturación para activarla, pero Google proporciona $200 en créditos gratuitos mensuales. La clave puede restringirse por IP, referente HTTP o paquete de Android/iOS Bundle ID. No se requiere tarjeta de crédito para pruebas.

¿Google Maps SDK admite clustering de marcadores?

Sí, Google Maps SDK admite clustering a través de la biblioteca android-maps-utils (Android) y Google-Maps-iOS-Utils (iOS). ClusterManager agrupa automáticamente los marcadores cercanos en un clúster con un indicador numérico. Al hacer zoom, el clúster se divide en marcadores individuales. El clustering es obligatorio con 200+ marcadores para mantener el rendimiento del mapa.

Resumen

  • Google Maps SDK — una plataforma para integrar mapas, geodatos y navegación en aplicaciones móviles
  • Maps SDK para Android e iOS muestra mapas interactivos con soporte de estilos, marcadores y capas
  • Places API — búsqueda de lugares, autocompletado de direcciones y geocodificación para aplicaciones con geodatos
  • Directions API / Routes API — construcción de rutas con consideración de tráfico y hasta 25 puntos intermedios
  • Personalización incluye estilos JSON, marcadores personalizados, InfoWindow, clustering y GroundOverlay
  • Precios — pago por uso desde $2.83 por 1000 cargas de mapa con un límite gratuito de $200 por mes
  • Clave API es obligatoria, vinculada a un proyecto en Google Cloud Console y restringida por plataforma

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también