Google Maps SDK — o que é, Google Maps e API para desenvolvimento

Autor: IT Sectr Publicado: 2026-04-30 Tempo de leitura: 10 min

Google Maps SDK é um conjunto de ferramentas do Google para integrar mapas interativos, geocodificação, rotas e pesquisa de lugares em aplicativos móveis e web. O SDK inclui o Maps SDK para Android e iOS, o Places API para trabalhar com geodados e o Directions API para construção de rotas. Os serviços do Google Maps processam mais de 100 bilhões de solicitações por dia, tornando o Maps SDK uma das soluções de mapeamento mais eficientes. De acordo com Google Maps Platform Documentation, 2025, o SDK é usado em 60% de todos os aplicativos móveis com mapas.

Principais conclusões

  • Google Maps SDK — uma plataforma para integrar mapas, geodados e navegação em aplicativos
  • Maps SDK — exibição de mapas interativos com estilos e camadas personalizáveis
  • Places API — pesquisa de lugares, geocodificação e obtenção de informações sobre estabelecimentos
  • Directions API — construção de rotas para diferentes tipos de transporte
  • Faturamento — pagamento pelo uso da API com base no número de solicitações ($2-10 por 1000 solicitações)

O que é Google Maps SDK?

Google Maps SDK é uma plataforma abrangente para desenvolvedores que fornece ferramentas para trabalhar com dados geográficos em aplicativos. A plataforma inclui várias APIs: Maps SDK (exibição de mapas), Routes API (rotas), Places API (pesquisa de lugares e geodados) e Geocoding API (conversão de endereços em coordenadas). Cada SDK se integra separadamente e tem seu próprio modelo de faturamento.

Ao contrário do Apple MapKit, o Google Maps SDK oferece um conjunto mais amplo de dados: informação sobre 250 milhões de lugares, trânsito em tempo real, panoramas do Street View e Indoor Maps para edifícios. De acordo com Statista (2025), o Google Maps Platform detém 75% do mercado de SDK de mapeamento em aplicativos móveis. A principal vantagem é uma única chave de API para todos os serviços do Google Maps e integração multiplataforma (Android, iOS, web).

Chave de API e configuração de segurança

A chave de API é um elemento obrigatório para trabalhar com o Google Maps SDK. A chave é criada no Google Cloud Console e vinculada a um projeto específico. Para Android, é necessário especificar o certificado SHA-1 do aplicativo; para iOS — o Bundle Identifier. O Google recomenda restringir o uso da chave de API por endereços IP, referenciadores HTTP ou pacotes de aplicativos para evitar acesso não autorizado.

Maps SDK para Android: Integração e recursos

Maps SDK para Android é uma biblioteca que exibe mapas interativos do Google dentro de um aplicativo Android através do MapView ou SupportMapFragment. O SDK suporta: estilos de mapa personalizados, marcadores com janelas de informação, polígonos e polilinhas, camadas de trânsito e transporte, bem como eventos de toque e gestos (zoom, rotação, inclinação). Os mapas usam OpenGL para renderização, oferecendo 60 FPS em dispositivos modernos.

A integração começa adicionando a dependência no build.gradle e configurando a chave de API através do AndroidManifest.xml. Google Maps SDK para Android requer o Google Play Services no dispositivo. Se o Google Play Services não estiver disponível (por exemplo, em dispositivos Huawei sem serviços do Google), os mapas não serão exibidos. Para esses casos, o Google recomenda usar soluções alternativas ou WebView com JavaScript Maps API.

kotlin
// AndroidManifest.xml — metadados da chave de API
// 
//     android:value="YOUR_API_KEY"/>

// Fragmento de mapa na 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 no Android suporta Indoor Maps — exibição de plantas de edifícios (aeroportos, shoppings). Basta definir map.isIndoorEnabled = true para ativá-lo. A camada de trânsito mostra a congestionamento das estradas em tempo real — os dados são atualizados a cada 2-5 minutos. A camada de transporte exibe rotas de transporte público nas cidades suportadas.

Maps SDK para iOS: Configuração e uso

Maps SDK para iOS fornece os mesmos recursos da versão Android, mas adaptados à plataforma Apple. A integração é feita através do Swift Package Manager ou CocoaPods. O Maps SDK para iOS usa servidores do Google para renderização de mapas, mas pode funcionar junto com o Apple MapKit para navegação nativa. O SDK suporta iOS 15 e superior, bem como SwiftUI através do UIViewRepresentable.

Uma característica específica da versão iOS é a configuração obrigatória do Info.plist com a chave de API e a adição do esquema de URL para o Google Maps. Ao contrário do Android, o SDK do iOS não requer o Google Play Services, mas requer o aplicativo Google Maps instalado para algumas funções (por exemplo, abrir mapas na navegação). Para projetos multiplataforma, o Google recomenda uma única chave de API por projeto, ativada para ambas as 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
    }
}

No iOS, Google Maps SDK suporta estilos personalizados através de um arquivo JSON no formato Google Maps Styling. Os estilos permitem alterar as cores de estradas, água, parques e edifícios de acordo com o design do aplicativo. Também são suportados Heatmap Layer para visualização de densidade de dados, KML e GeoJSON para importar dados geográficos de fontes externas.

Places API: Pesquisa de lugares e geocodificação

Places API é um serviço do Google Maps Platform para obter informações sobre lugares geográficos: endereços, coordenadas, avaliações, horários, fotos e avaliações. O Places API opera em dois modos: Place Search (pesquisa por texto ou raio) e Place Details (informações detalhadas sobre um local específico por Place ID). O SDK está disponível para Android, iOS e como API REST.

Places SDK para Android e iOS permite incorporar o preenchimento automático de endereços (Place Autocomplete) diretamente nos campos de texto do aplicativo. Este é um recurso essencial para aplicativos de entrega, táxi e logística — o usuário começa a digitar um endereço e o SDK sugere opções do banco de dados do Google Maps. Place Autocomplete reduz os erros de digitação de endereço em 80% em comparação com a digitação manual. Faturamento do Places API: $2.83 por 1000 solicitações Place Details, Place Search — $4.71 por 1000.

kotlin
// Pesquisar lugar por texto no 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 — geocodificação reversa (coordenadas para endereço) e direta (endereço para coordenadas). Usado para converter um endereço inserido pelo usuário em coordenadas para exibição no mapa. O Geocoding API é faturado separadamente: $4.71 por 1000 solicitações. O Google fornece 200 solicitações gratuitas por dia por conta para testes.

Directions API: Construção de rotas

Directions API é um serviço para calcular rotas entre dois ou mais pontos considerando o modo de transporte (carro, a pé, bicicleta, transporte público). A API retorna várias rotas alternativas com distância, tempo de viagem, instruções passo a passo e uma polilinha para desenhar a rota no mapa. O Directions API está disponível como API REST e através de SDKs de cliente.

Funcionalidade estendida — Routes API (nova API recomendada pelo Google desde 2024). O Routes API oferece roteamento melhorado com trânsito em tempo real, roteamento ecológico e análise preditiva de horário de chegada. De acordo com o Google, o Routes API calcula o tempo de viagem 20% mais precisamente em condições urbanas em comparação com o Directions API clássico. O Routes API é faturado a $5.00 por 1000 solicitações.

kotlin
// Solicitação de rota via 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 suporta até 25 pontos de passagem (waypoints) para uma única rota. Os waypoints podem ser especificados como coordenadas ou Place IDs. Para otimizar a ordem dos pontos (problema do caixeiro viajante), use o parâmetro optimize:true. Preços: Directions API — $4.71 por 1000 solicitações (até 10 pontos), cada ponto adicional adiciona 50% ao custo da solicitação.

Personalização de mapas: Estilos, marcadores e janelas de informação

Google Maps SDK fornece amplas opções de personalização: alteração do esquema de cores do mapa através de estilos JSON, adição de marcadores personalizados (incluindo animados), janelas de informação (InfoWindow) com conteúdo personalizado e sobreposição de camadas gráficas (GroundOverlay, Circle, Polygon). A personalização permite adaptar o mapa à marca do aplicativo e melhorar a experiência do usuário.

Estilização de mapas é feita através do Google Maps Styling Wizard ou de um arquivo JSON no formato Map Style. Você pode alterar as cores de estradas (featureType: road), água (water), parques (poi.park), edifícios (building) e outros elementos. Para mapas em temas escuros, use um estilo noturno com fundo escuro e cores suaves. O Google Maps suporta até 100 regras de estilo em um único arquivo JSON.

Elemento de personalizaçãoMétodo/ClasseDescrição
MarcadoresMarkerOptions.icon(BitmapDescriptor)Ícone de marcador personalizado de recursos ou URL
PolilinhasPolylineOptions.color(width)Linhas para exibir rotas com cor personalizada
PolígonosPolygonOptions.fillColor(strokeColor)Preenchimento de área com transparência e contorno
InfoWindowGoogleMap.setInfoWindowAdapterConteúdo personalizado da janela de informação (qualquer View)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Imagem sobreposta na área do mapa

Clustering para desempenho

Clustering — combinação de marcadores em clusters quando há um grande número de pontos no mapa. O Google Maps SDK para Android e iOS inclui um utilitário de clustering integrado (com.google.maps.android:android-maps-utils). O clustering evita a sobrecarga do mapa com marcadores em níveis de zoom baixos. Ao aplicar zoom, o cluster se divide automaticamente em marcadores individuais. De acordo com o Google, o clustering melhora o desempenho do mapa em 40% com 1000+ marcadores.

Exemplo de código: Mapa com marcadores em Kotlin

Um exemplo completo de exibição de um mapa com um marcador personalizado, polilinha de rota e janela de informação. O aplicativo mostra um mapa de Moscou com um ponto de interesse e uma rota até ele a partir do centro da cidade. O código demonstra os principais recursos do Google Maps SDK: adicionar um marcador, desenhar uma polilinha, mover a câmera e manipular cliques.

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()
        }
    }
}

Recomendações de desempenho: use carregamento assíncrono de marcadores via ClusterManager quando houver mais de 200 pontos, limite o número de polilinhas visíveis (o Google recomenda no máximo 100 simultaneamente), use o Lite Mode para mapas que não exigem funcionalidade completa (rolagem sem alterações de zoom). O Lite Mode reduz o consumo de memória em 50% e acelera o carregamento do mapa em 2 vezes.

Preços e limites do Google Maps Platform

Google Maps Platform usa um modelo de pagamento conforme o uso com um limite gratuito mensal de $200 em créditos. Cada API é faturada separadamente: Maps SDK — $2.83 por 1000 carregamentos de mapa, Places API — $4.71 por 1000 solicitações, Directions API — $4.71 por 1000 rotas. Routes API (recomendado) — $5.00 por 1000 solicitações. O limite gratuito de $200 geralmente cobre até 70.000 carregamentos de mapa por mês.

Para projetos de alto tráfego, o Google oferece descontos para volumes de 500.000+ solicitações por mês. Google Maps SDK não é cobrado pela exibição de um mapa básico sem interação — a taxa é apenas para carregamento do mapa. Cada vez que um usuário abre uma tela com um mapa, conta como um carregamento. Otimização: o cache de tiles do mapa reduz o número de carregamentos em aberturas repetidas.

Limites: 300 solicitações por minuto para Places API (pode ser aumentado para 3000 via cota no Cloud Console). Para Directions API — 100 solicitações por minuto. Exceder o limite retorna o erro OVER_QUERY_LIMIT. O Google recomenda usar backoff exponencial para tentativas repetidas. O monitoramento de uso está disponível no Google Cloud Console com até 5 minutos de atraso.

Perguntas frequentes

Quanto custa usar o Google Maps SDK em um aplicativo móvel?

Google Maps SDK é faturado no modelo de pagamento conforme o uso: $2.83 por 1000 carregamentos de mapa. A cada mês, o Google fornece $200 em créditos gratuitos, que cobrem até 70.000 carregamentos de mapa. Places API e Directions API são faturados separadamente. Para projetos pequenos com até 10.000 usuários, os custos geralmente variam de $10 a $50 por mês.

Posso usar o Google Maps SDK sem conexão com a internet?

Sim, o Google Maps SDK suporta mapas offline através de cache de tiles. O SDK armazena automaticamente em cache até 1000 tiles (aproximadamente uma área de 10x10 km). Para suporte offline completo, use o Google Maps Offline API para Android, que permite baixar o mapa de uma região inteira. Mapas offline não suportam trânsito, rotas ou Places API.

Qual a diferença entre Google Maps SDK e Apple MapKit?

Google Maps SDK oferece um conjunto mais amplo de dados: 250 milhões de lugares, trânsito em tempo real, Street View, Indoor Maps. O Apple MapKit é gratuito, mas tem menos dados fora dos EUA e Europa. O Google SDK requer uma chave de API e pagamento, o Apple MapKit não. Para projetos multiplataforma, o Google Maps SDK é preferível com uma única API para ambas as plataformas.

Como obter uma chave de API gratuita para o Google Maps?

A chave de API é criada no Google Cloud Console na seção APIs and Services, Credentials. Você precisa vincular a chave a uma conta de faturamento para ativá-la, mas o Google fornece $200 em créditos gratuitos mensais. A chave pode ser restrita por IP, referenciador HTTP ou pacote Android/iOS Bundle ID. Não é necessário cartão de crédito para testes.

O Google Maps SDK suporta clustering de marcadores?

Sim, o Google Maps SDK suporta clustering através da biblioteca android-maps-utils (Android) e Google-Maps-iOS-Utils (iOS). O ClusterManager agrupa automaticamente marcadores próximos em um cluster com um indicador numérico. Ao aplicar zoom, o cluster se divide em marcadores individuais. O clustering é obrigatório com 200+ marcadores para manter o desempenho do mapa.

Resumo

  • Google Maps SDK — uma plataforma para integrar mapas, geodados e navegação em aplicativos móveis
  • Maps SDK para Android e iOS exibe mapas interativos com suporte a estilos, marcadores e camadas
  • Places API — pesquisa de lugares, preenchimento automático de endereços e geocodificação para aplicativos com geodados
  • Directions API / Routes API — construção de rotas com consideração de trânsito e até 25 pontos de passagem
  • Personalização inclui estilos JSON, marcadores personalizados, InfoWindow, clustering e GroundOverlay
  • Preços — pagamento conforme o uso a partir de $2.83 por 1000 carregamentos de mapa com limite gratuito de $200 por mês
  • Chave de API é obrigatória, vinculada a um projeto no Google Cloud Console e restrita por plataforma

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também