Primeiros passos

Este é um guia de início rápido para criar um app Android que exibe um mapa. O ambiente de desenvolvimento recomendado para criar um app com o SDK do Maps para Android é o Android Studio.

Etapa 1. Fazer download do Android Studio

Siga os guias de download e instalação do Android Studio.

Etapa 2. Instalar o SDK do Google Play Services

Adicione o Google Play Services ao Android Studio.

Etapa 3. Criar um projeto do Google Maps

Siga estas etapas para criar um novo projeto de app, incluindo uma atividade de mapa:

  1. Inicie o Android Studio.
  2. Crie um novo projeto, conforme abaixo:
    • Se a caixa de diálogo Welcome to Android Studio for exibida, selecione Start a new Android Studio project, disponível em "Início rápido" à direita da caixa de diálogo.
    • Caso contrário, clique em File na barra de menus do Android Studio, em New e em New Project.
  3. Na caixa de diálogo Choose your project, selecione a guia que corresponde à plataforma em que você desenvolverá. A maioria dos usuários usa o padrão Phone and tablet.
  4. Selecione Google Maps Activity e Next.
  5. Insira os nomes do app e do pacote, o local do projeto, a linguagem de programação (Java ou Kotlin) e o nível mínimo da API para Android compatível com o app. Depois, clique em Finish.

O Android Studio inicia o Gradle e cria o projeto. Isso pode levar alguns segundos. Para ver mais informações sobre como criar um projeto no Android Studio, consulte [Android Studio documentation][studio-projects].

Quando a criação estiver concluída, o Android Studio abrirá os arquivos google_maps_api.xml e MapsActivity.java no editor. A atividade pode ter um nome diferente, mas será a que você editou na configuração. O arquivo google_maps_api.xml inclui as instruções para gerar uma chave da API Google Maps antes de tentar executar o aplicativo. A seção a seguir descreve como acessar a chave de API em mais detalhes.

Etapa 4. Configurar uma chave da API Google Maps

  1. Ative o faturamento no seu projeto. Para ver os detalhes, consulte Como criar uma conta de faturamento.
  2. No Console do Cloud, ative o SDK do Maps para Android no seu projeto. Para ver mais detalhes, consulte como ativar APIs.
  3. Siga o guia Acessar uma chave de API para receber, adicionar e restringir uma chave de API.

Etapa 5. Analisar o código

Examine o código fornecido no modelo. Mais especificamente, avalie os arquivos a seguir no projeto do Android Studio.

O arquivo XML de layout

Por padrão, o arquivo XML que define o layout do app está em res/layout/activity_maps.xml. Esse arquivo contém o seguinte código:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/map"
    tools:context=".MapsActivity"
    android:name="com.google.android.gms.maps.SupportMapFragment" />

O arquivo Java das atividades no Google Maps

Por padrão, o arquivo Java que define a atividade no Google Maps é chamado de MapsActivity.java. Ele contém o seguinte código após o nome do pacote:

Java

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.maps.example;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    /**
     * Manipulates the map once available.
     * This callback is triggered when the map is ready to be used.
     * This is where we can add markers or lines, add listeners or move the camera. In this case,
     * we just add a marker near Sydney, Australia.
     *
     * If Google Play services is not installed on the device, the user will be prompted to install
     * it inside the SupportMapFragment. This method will only be triggered once the user has
     * installed Google Play services and returned to the app.
     */
    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        // Add a marker in Sydney and move the camera
        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions()
                .position(sydney)
                .title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }
}

      

Kotlin

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.maps.example.kotlin

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.OnMapReadyCallback
import com.google.android.gms.maps.SupportMapFragment
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.MarkerOptions
import com.google.maps.example.R

internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback {

    private lateinit var mMap: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_maps)
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        val mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    /**
     * Manipulates the map once available.
     * This callback is triggered when the map is ready to be used.
     * This is where we can add markers or lines, add listeners or move the camera. In this case,
     * we just add a marker near Sydney, Australia.
     * If Google Play services is not installed on the device, the user will be prompted to install
     * it inside the SupportMapFragment. This method will only be triggered once the user has
     * installed Google Play services and returned to the app.
     */
    override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap

        // Add a marker in Sydney and move the camera
        val sydney = LatLng(-34.0, 151.0)
        mMap.addMarker(MarkerOptions()
            .position(sydney)
            .title("Marker in Sydney"))
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
    }
}
      

Se o arquivo de atividades no Google Maps não contiver o código acima, substitua o conteúdo dele por esse código após o nome do pacote.

Etapa 6. Conectar um dispositivo Android

A maneira mais simples de ver seu app em ação é conectar um dispositivo Android ao computador. Siga estas instruções se quiser ativar as opções para desenvolvedores no seu dispositivo Android e configurar o sistema de modo a detectar o aparelho.

Como alternativa, use o Android Emulator para executar o app. Use o Dispositivo virtual Android (AVD Manager) se quiser configurar um ou mais dispositivos virtuais para usar com o Android Emulator ao criar e executar seu app. Na hora de escolher um emulador, use o Android 4.14.1 ou posterior e selecione uma imagem que inclua as APIs do Google. Caso contrário, o aplicativo não terá as APIs de tempo de execução necessárias. Além disso, siga as instruções para configurar a aceleração de máquinas virtuais e use-as com o Dispositivo virtual Android x86, conforme definido nas instruções. Assim, você terá uma experiência melhor com o emulador.

Etapa 7. Implantar e executar o app

No Android Studio, clique na opção de menu Run ou no ícone do botão de reprodução para executar o app.

Quando solicitado a escolher um dispositivo, selecione uma das seguintes opções:

  • Selecione o dispositivo Android conectado ao computador.
  • Ou escolha o botão de opção Launch emulator e o dispositivo virtual que você configurou anteriormente.

Clique em OK. O Android Studio invocará o Gradle para criar o app e exibirá os resultados no dispositivo ou no emulador. Pode levar alguns minutos para o app abrir.

Próximas etapas

Se quiser, analise um exemplo de código.

Saiba mais sobre os objetos de mapa no Guia do desenvolvedor.