Utwórz aplikację na Androida, która wyświetla mapę, korzystając z szablonu widoków Map Google w Android Studio. Jeśli masz już projekt w Android Studio, który chcesz skonfigurować, przeczytaj artykuł Konfigurowanie projektu w Android Studio.
To krótkie wprowadzenie jest przeznaczone dla programistów aplikacji na Androida, którzy znają podstawy programowania aplikacji na Androida w Kotlinie lub Javie.
Informacje o środowisku programistycznym
Zalecamy korzystanie z najnowszej stabilnej wersji Android Studio i wtyczki Androida do obsługi Gradle.
Konfigurowanie urządzenia z Androidem
Aby uruchomić aplikację korzystającą z pakietu Maps SDK na Androida, musisz wdrożyć ją na urządzeniu z Androidem lub emulatorze Androida, który jest oparty na Androidzie 6.0 lub nowszym i zawiera interfejsy Google API.
- Aby używać urządzenia z Androidem, postępuj zgodnie z instrukcjami w artykule Uruchamianie aplikacji na urządzeniu fizycznym.
- Aby używać Android Emulator, możesz utworzyć urządzenie wirtualne i zainstalować emulator za pomocą Menedżera urządzeń, który jest częścią Android Studio.
Tworzenie projektu Map Google w Android Studio
Otwórz Android Studio i w oknie Welcome to Android Studio (Witamy w Android Studio) kliknij New Project (Nowy projekt).
W oknie New Project w kategorii Phone and Tablet wybierz No Activity, a następnie kliknij Next.
Wypełnij formularz New Project (Nowy projekt):
Ustaw Language (Język) na Java lub Kotlin. Oba języki są w pełni obsługiwane przez pakiet Maps SDK na Androida. Więcej informacji o Kotlinie znajdziesz w artykule Tworzenie aplikacji na Androida w Kotlinie.
Ustaw Minimum SDK (Minimalny pakiet SDK) na wersję pakietu SDK zgodną z urządzeniem testowym. Musisz wybrać wersję nowszą niż minimalna wersja wymagana przez pakiet Maps SDK na Androida w wersji 20.0.x, czyli poziom interfejsu API Androida 23 („Marshmallow”; Android 6.0) lub nowszy. Najnowsze informacje o wymaganiach dotyczących wersji pakietu SDK znajdziesz w informacjach o wersji.
Ustaw Build configuration language (Język konfiguracji kompilacji) na Kotlin DSL lub Groovy DSL. W kolejnych procedurach pokazujemy fragmenty kodu w obu językach konfiguracji kompilacji.
Kliknij Zakończ.
Android Studio uruchomi Gradle i utworzy projekt. Może to chwilę potrwać.
Dodaj aktywność widoków Map Google:
- Kliknij prawym przyciskiem myszy folder
appw projekcie. Wybierz New > Google > Google Maps Views Activity (Nowy > Google > Aktywność widoków Map Google).

W oknie New Android Activity (Nowa aktywność Androida) zaznacz pole wyboru Launcher Activity (Aktywność uruchamiająca).
Kliknij Zakończ.
Więcej informacji znajdziesz w artykule Dodawanie kodu z szablonu.
- Kliknij prawym przyciskiem myszy folder
Po zakończeniu kompilacji Android Studio otworzy pliki
AndroidManifest.xmliMapsActivity. Twoja aktywność może mieć inną nazwę, ale jest to ta, którą skonfigurowano podczas instalacji.
Konfigurowanie projektu Google Cloud
Wykonaj wymagane czynności konfiguracyjne w konsoli Cloud, klikając te karty:
Krok 1
Konsola
-
W konsoli Google Cloud na stronie selektora projektu kliknij Utwórz projekt , aby rozpocząć tworzenie nowego projektu Cloud.
-
Sprawdź, czy w projekcie w chmurze włączone są płatności. Potwierdź, że w projekcie włączone są płatności.
Google Cloud oferuje bezpłatny okres próbny. Okres próbny wygasa po 90 dniach lub po naliczeniu na koncie opłat w wysokości 300 USD – w zależności od tego, co nastąpi wcześniej. Anuluj kiedy chcesz. Więcej informacji znajdziesz w artykułach Środki na koncie rozliczeniowym i Rozliczenia.
Pakiet SDK Cloud
gcloud projects create "PROJECT"
Więcej informacji o pakiecie Google Cloud SDK , instalacji pakietu SDK Cloud i tych poleceniach:
Krok 2
Aby korzystać z Google Maps Platform, musisz włączyć interfejsy API lub pakiety SDK, których zamierzasz używać w projekcie.
Konsola
Pakiet SDK Cloud
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
Więcej informacji o pakiecie Google Cloud SDK , instalacji pakietu SDK Cloud i tych poleceniach:
Krok 3
W tym kroku opisujemy tylko proces tworzenia klucza interfejsu API. Jeśli używasz klucza interfejsu API w środowisku produkcyjnym, zdecydowanie zalecamy jego ograniczenie. Więcej informacji znajdziesz na stronie Używanie kluczy interfejsu API dotyczącej konkretnej usługi.
Klucz interfejsu API to unikalny identyfikator używany do uwierzytelniania żądań powiązanych z projektem na potrzeby wykorzystania i płatności. Z projektem musi być powiązany co najmniej 1 klucz interfejsu API.
Aby utworzyć klucz interfejsu API:
Konsola
-
Otwórz stronę Google Maps Platform > Dane logowania.
-
Na stronie Dane logowania kliknij Utwórz dane logowania > Klucz interfejsu API.
W oknie Utworzono klucz interfejsu API pojawi się nowo utworzony klucz interfejsu API. -
Kliknij Zamknij.
Nowy klucz interfejsu API pojawi się na stronie Dane logowania w sekcji Klucze API.
(Pamiętaj, aby ograniczyć klucz interfejsu API przed użyciem go w środowisku produkcyjnym).
Pakiet SDK Cloud
gcloud services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Więcej informacji o pakiecie Google Cloud SDK , instalacji pakietu SDK Cloud i tych poleceniach:
Dodawanie klucza interfejsu API do aplikacji
W tej sekcji opisujemy, jak przechowywać klucz interfejsu API, aby aplikacja mogła się do niego bezpiecznie odwoływać. Nie należy dodawać klucza interfejsu API do systemu kontroli wersji, dlatego zalecamy przechowywanie go w pliku secrets.properties w katalogu głównym projektu i wykluczenie tego pliku z kontroli wersji. Więcej informacji o plikach właściwości Gradle
znajdziesz w artykule
Pliki właściwości Gradle.
Aby uprościć to zadanie, zalecamy użycie wtyczki Gradle obiektów tajnych dla Androida .
Aby zainstalować wtyczkę Gradle obiektów tajnych dla Androida i zapisać klucz interfejsu API:
-
W Android Studio otwórz plik
build.gradle.ktslubbuild.gradlenajwyższego poziomu i dodaj ten kod do blokuplugins.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
Otwórz plik
build.gradle.ktslubbuild.gradlena poziomie modułu i dodaj ten kod do elementuplugins.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Jeśli używasz Android Studio, zsynchronizuj swój projekt z Gradle.
-
Otwórz plik
secrets.propertiesw katalogu najwyższego poziomu, a następnie dodaj ten kod. ZastąpYOUR_API_KEYkluczem interfejsu API. Pamiętaj, aby dodaćsecrets.propertiesdo swojego.gitignorepliku (lub w inny sposób wykluczyć go z systemu kontroli wersji), aby nie dodawać klucza interfejsu API do kontroli wersji.MAPS_API_KEY=YOUR_API_KEY
-
Utwórz plik
local.defaults.propertiesw katalogu najwyższego poziomu, w tym samym folderze co pliksecrets.properties, a następnie dodaj ten kod.MAPS_API_KEY=DEFAULT_API_KEY
Ten plik ma na celu zapewnienie lokalizacji kopii zapasowej klucza interfejsu API jeśli plik
secrets.propertiesnie zostanie znaleziony, aby kompilacje nie kończyły się niepowodzeniem. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji , który pomijasecrets.propertiesi nie masz jeszcze lokalnie utworzonego plikusecrets.propertiesz kluczem interfejsu API. -
W pliku
AndroidManifest.xmlprzejdź docom.google.android.geo.API_KEYi zaktualizuj atrybutandroid:valuew ten sposób:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />Uwaga:
com.google.android.geo.API_KEYto zalecana nazwa metadanych klucza interfejsu API. Klucz o tej nazwie może służyć do uwierzytelniania w wielu interfejsach API opartych na Mapach Google na platformie Android, w tym w pakiecie Maps SDK na Androida. Aby zachować zgodność wsteczną, interfejs API obsługuje też nazwęcom.google.android.maps.v2.API_KEY. Ta starsza nazwa umożliwia uwierzytelnianie tylko w interfejsie Android Maps API w wersji 2. Aplikacja może określić tylko jedną z nazw metadanych klucza interfejsu API. Jeśli określone są obie, interfejs API zgłosi wyjątek. -
W Android Studio otwórz plik
build.gradle.ktslubbuild.gradlena poziomie modułu i edytuj właściwośćsecrets. Jeśli właściwośćsecretsnie istnieje, dodaj ją.Edytuj właściwości wtyczki, aby ustawić
propertiesFileNamena"secrets.properties", ustawdefaultPropertiesFileNamena"local.defaults.properties", i inne właściwości.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Sprawdzanie kodu
Sprawdź kod dostarczony przez szablon. W szczególności przyjrzyj się tym plikom w projekcie Android Studio.
Plik aktywności w Mapach
Plik aktywności w Mapach to główna aktywność aplikacji, która
zawiera kod do zarządzania mapą i jej wyświetlania. Domyślnie plik definiujący aktywność ma nazwę MapsActivity.java lub MapsActivity.kt, jeśli jako język aplikacji ustawisz Kotlin.
Główne elementy aktywności w Mapach:
Obiekt
SupportMapFragmentzarządza cyklem życia mapy i jest elementem nadrzędnym interfejsu aplikacji.Obiekt
GoogleMapzapewnia dostęp do danych mapy i widoku. Jest to główna klasa pakietu Maps SDK na Androida. Więcej informacji o obiektachSupportMapFragmentiGoogleMapznajdziesz w przewodniku Obiekty mapy.Funkcja
moveCamerawyśrodkowuje mapę na współrzędnychLatLngdla Sydney w Australii. Pierwsze ustawienia, które należy skonfigurować podczas dodawania mapy, to zwykle lokalizacja mapy i ustawienia kamery, takie jak kąt widzenia, orientacja mapy i poziom powiększenia. Więcej informacji znajdziesz w przewodniku Kamera i widok.Funkcja
addMarkerdodaje znacznik do współrzędnych dla Sydney. Więcej informacji znajdziesz w przewodniku Znaczniki.
Kotlin
// Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) map.addMarker( MarkerOptions() .position(sydney) .title("Marker in Sydney") ) map.moveCamera(CameraUpdateFactory.newLatLng(sydney))
Java
// Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); map.addMarker(new MarkerOptions() .position(sydney) .title("Marker in Sydney")); map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
Plik Gradle modułu
Plik build.gradle.kts lub build.gradle na poziomie modułu zawiera tę
zależność Map, która jest wymagana przez pakiet Maps SDK na Androida.
Kotlin
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
Groovy
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.0.0" }
Jeśli Twój projekt używa katalogu wersji Gradle (gradle/libs.versions.toml),
zdefiniuj zależność play-services-maps w pliku libs.versions.toml:
[versions]
play-services-maps = "20.0.0"
[libraries]
play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
Więcej informacji o zarządzaniu zależnością Map znajdziesz w artykule Obsługa wersji.
Plik układu XML
Plik activity_maps.xml to plik układu XML, który definiuje
strukturę interfejsu aplikacji. Plik znajduje się w katalogu res/layout.
Plik activity_maps.xml deklaruje fragment, który zawiera te elementy:
tools:contextustawia domyślną aktywność fragmentu naMapsActivity, która jest zdefiniowana w pliku aktywności w Mapach.android:nameustawia nazwę klasy fragmentu naSupportMapFragment, czyli typ fragmentu używany w pliku aktywności w Mapach.
Plik układu XML zawiera ten kod:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
Wdrażanie i uruchamianie aplikacji

Po pomyślnym uruchomieniu aplikacji wyświetli się mapa wyśrodkowana na Sydney w Australii ze znacznikiem na tym mieście, jak pokazano na zrzucie ekranu.
Aby wdrożyć i uruchomić aplikację:
- W Android Studio kliknij opcję menu Run (Uruchom) (lub ikonę przycisku odtwarzania), aby uruchomić aplikację.
- Gdy pojawi się prośba o wybranie urządzenia, wybierz jedną z tych opcji:
- Wybierz urządzenie z Androidem podłączone do komputera.
- Możesz też wybrać opcję Launch emulator (Uruchom emulator) i wybrać skonfigurowane urządzenie wirtualne.
- Kliknij OK. Android Studio uruchomi Gradle, aby utworzyć aplikację, a następnie wyświetli wyniki na urządzeniu lub emulatorze. Uruchomienie aplikacji może potrwać kilka minut.
Dalsze kroki
Konfigurowanie mapy: w tym dokumencie opisujemy, jak skonfigurować ustawienia początkowe i środowiska wykonawczego mapy, takie jak pozycja kamery, typ mapy, komponenty interfejsu i gesty.
Dodawanie mapy do aplikacji na Androida (Kotlin): w tym ćwiczeniu w Codelabs przeprowadzimy Cię przez aplikację, która pokazuje niektóre dodatkowe funkcje pakietu Maps SDK na Androida.
Korzystanie z biblioteki Maps Android KTX: ta biblioteka rozszerzeń Kotlin (KTX) umożliwia korzystanie z kilku funkcji języka Kotlin podczas używania pakietu Maps SDK na Androida.