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ć, zapoznaj się z artykułem Konfigurowanie projektu w Android Studio.
Ten krótki przewodnik jest przeznaczony dla programistów aplikacji na Androida, którzy znają podstawy tworzenia aplikacji na Androida w języku Kotlin lub Java.
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ę, która korzysta z pakietu Maps SDK na Androida, musisz ją wdrożyć na urządzeniu z Androidem lub w emulatorze Androida z systemem Android 6.0 lub nowszym i interfejsami API Google.
- Aby użyć urządzenia z Androidem, postępuj zgodnie z instrukcjami podanymi w artykule Uruchamianie aplikacji na urządzeniu.
- 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 (Nowy projekt) w kategorii Phone and Tablet (Telefon i tablet) wybierz No Activity (Brak aktywności), a następnie kliknij Next (Dalej).
Wypełnij formularz 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 języku Kotlin znajdziesz w artykule Tworzenie aplikacji na Androida w języku Kotlin.
W polu Minimalna wersja pakietu SDK ustaw wersję pakietu SDK zgodną z urządzeniem testowym. Musisz wybrać wersję wyższą niż minimalna wersja wymagana przez pakiet Maps SDK na Androida w wersji 20.0.x, czyli interfejs API Androida na poziomie 23 („Marshmallow”; Android 6.0) lub wyższym. Najnowsze informacje o wymaganiach dotyczących wersji pakietu SDK znajdziesz w informacjach o wersji.
Ustaw język konfiguracji kompilacji na Kotlin DSL lub Groovy DSL. Fragmenty kodu dla obu języków konfiguracji kompilacji są pokazane w poniższych procedurach.
Kliknij Zakończ.
Android Studio uruchomi Gradle i utworzy projekt. Może to chwilę potrwać.
Dodaj aktywność związaną z wyświetleniami w Mapach Google:
- Kliknij prawym przyciskiem folder
appw projekcie. Wybierz Nowy > Google > Aktywność związana z wyświetleniami w Mapach Google:
Dodawanie aktywności widoków Map Google z menu kontekstowego appw Android Studio.W oknie Nowa aktywność na Androidzie zaznacz pole wyboru Aktywność w programie uruchamiającym.
Kliknij Zakończ.
Więcej informacji znajdziesz w artykule Dodawanie kodu z szablonu.
- Kliknij prawym przyciskiem folder
Po zakończeniu kompilacji Android Studio otworzy pliki
AndroidManifest.xmliMapsActivity. Aktywność może mieć inną nazwę w zależności od tego, co zostało skonfigurowane podczas konfiguracji.
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 projektów kliknij Utwórz projekt, aby rozpocząć tworzenie nowego projektu Cloud.
-
Sprawdź, czy w projekcie Cloud włączone są płatności. Sprawdź, czy w projekcie są włączone płatności.
Google Cloud oferuje bezpłatny okres próbny. Okres próbny kończy się po upływie 90 dni lub po naliczeniu na koncie opłat w wysokości 300 USD (w zależności od tego, co nastąpi wcześniej). Możesz zrezygnować w każdej chwili. Więcej informacji znajdziesz w artykułach o środkach na koncie rozliczeniowym i rozliczeniach.
Pakiet SDK Cloud
gcloud projects create "PROJECT"
Więcej informacji o pakiecie SDK Google Cloud, 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 chcesz używać w projekcie.
Konsola
Pakiet SDK Cloud
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
Więcej informacji o pakiecie SDK Google Cloud, instalacji pakietu SDK Cloud i tych poleceniach:
Krok 3
Ten krok dotyczy tylko procesu tworzenia klucza interfejsu API. Jeśli używasz klucza interfejsu API w środowisku produkcyjnym, zdecydowanie zalecamy jego ograniczenie. Więcej informacji znajdziesz na stronie Korzystanie z 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 interfejsu 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 SDK Google Cloud, instalacji pakietu SDK Cloud i tych poleceniach:
Dodawanie klucza interfejsu API do aplikacji
W tej sekcji opisano, jak przechowywać klucz interfejsu API, aby aplikacja mogła się do niego bezpiecznie odwoływać. Nie należy sprawdzać klucza interfejsu API w systemie 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 na ten temat.
Aby uprościć to zadanie, zalecamy użycie wtyczki Secrets Gradle do 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 }
Zakręcony
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") }
Zakręcony
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Jeśli używasz Android Studio, zsynchronizuj projekt z Gradle.
-
Otwórz plik
secrets.propertiesw katalogu najwyższego poziomu i dodaj podany niżej kod. ZastąpYOUR_API_KEYkluczem interfejsu API. Dodajsecrets.propertiesdo pliku.gitignore(lub w inny sposób wyklucz go z systemu kontroli wersji), aby nie sprawdzać klucza interfejsu API w systemie kontroli wersji.MAPS_API_KEY=YOUR_API_KEY
-
Utwórz plik
local.defaults.propertiesw katalogu najwyższego poziomu, czyli w tym samym folderze, w którym znajduje się pliksecrets.properties, a następnie dodaj podany niżej kod.MAPS_API_KEY=DEFAULT_API_KEY
Ten plik służy do podania zapasowej lokalizacji klucza interfejsu API, jeśli nie można znaleźć pliku
secrets.properties, aby kompilacje nie kończyły się niepowodzeniem. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji, który pomija pliksecrets.properties, i nie utworzysz jeszcze lokalnie plikusecrets.properties, aby podać klucz 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 Androida, w tym w pakiecie Maps SDK na Androida. Ze względu na zgodność wsteczną interfejs API obsługuje też nazwęcom.google.android.maps.v2.API_KEY. Ta starsza nazwa umożliwia uwierzytelnianie tylko w interfejsie API Map Google dla Androida w wersji 2. Aplikacja może określić tylko jedną z nazw metadanych klucza interfejsu API. Jeśli podasz obie wartości, 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",defaultPropertiesFileNamena"local.defaults.properties"i skonfigurować 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" }
Zakręcony
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" }
Sprawdź kod
Przeanalizuj kod dostarczony przez szablon. W szczególności zwróć uwagę na te pliki 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, który definiuje aktywność, ma nazwę MapsActivity.java, a jeśli jako język aplikacji ustawisz Kotlin, MapsActivity.kt.
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 i widoku mapy. Jest to główna klasa pakietu Maps SDK na Androida. W przewodniku Obiekty mapy znajdziesz bardziej szczegółowe informacje o obiektachSupportMapFragmentiGoogleMap.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. Szczegółowe informacje znajdziesz w przewodniku Kamera i widok.Funkcja
addMarkerdodaje znacznik do współrzędnych Sydney. Szczegółowe informacje znajdziesz w przewodniku po znacznikach.
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) }
Zakręcony
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.0.0" }
Jeśli Twój projekt korzysta z 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 o obsłudze 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 mieście, jak pokazano na zrzucie ekranu.
Aby wdrożyć i uruchomić aplikację:
- W Android Studio kliknij opcję menu 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 połączone z komputerem.
- Możesz też kliknąć przycisk opcji 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 w emulatorze. Uruchomienie aplikacji może potrwać kilka minut.
Dalsze kroki
Konfigurowanie mapy: ten dokument opisuje, jak skonfigurować początkowe i bieżące ustawienia mapy, takie jak pozycja kamery, typ mapy, komponenty interfejsu i gesty.
Dodawanie mapy do aplikacji na Androida (Kotlin): to ćwiczenie przeprowadzi Cię przez aplikację, która demonstruje niektóre dodatkowe funkcje pakietu Maps SDK na Androida.
Używanie 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.