Stwórz aplikację dla Androida wyświetlającą mapę, korzystając ze Zdjęć w Mapach Google dla Android Studio. Jeśli masz już projekt w Android Studio, które chcesz skonfigurować, przeczytaj artykuł Konfigurowanie projektu Android Studio.
To krótkie wprowadzenie jest przeznaczone dla programistów znających Programowanie na Androida w języku Kotlin lub Java.
Informacje o środowisku programistycznym
To krótkie wprowadzenie zostało opracowane w Android Studio Jeż i Android Wtyczka Gradle wersji 8.2.
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 na urządzeniu z Androidem emulator oparty na Androidzie 5.0 lub nowszym i obejmuje interfejsów API Google.
- Aby użyć urządzenia z Androidem, postępuj zgodnie z instrukcjami na stronie Uruchamianie aplikacji na urządzeniu
- Aby użyć emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować emulator za pomocą: Menedżer urządzeń wirtualnych z Androidem (AVD), dostępne w Android Studio.
Tworzenie projektu Map Google w Android Studio
Procedura tworzenia projektu Map Google w Android Studio została zmieniona w Flamingo i nowsze wersje Android Studio.
Otwórz Android Studio i kliknij New Project (Nowy projekt) w Okno Witamy w Android Studio.
W oknie New Project (Nowy projekt) w kategorii Phone and Tablet (Telefon i tablet) wybierz Brak aktywności i kliknij Dalej.
Wypełnij formularz New Project (Nowy projekt):
Ustaw Język na Java lub Kotlin. Oba języki są w pełni obsługiwane przez SDK Maps na Androida. Więcej informacji o Kotlin znajdziesz na stronie Tworzenie aplikacji na Androida za pomocą Kotlin
Ustaw Minimalny pakiet SDK na wersję pakietu SDK zgodną z urządzeniem testowym. Musisz wybrać wersję wyższą niż minimalna wersja wymagana przez Maps SDK na Androida w wersji 19.0.x, – Android API poziomu 21 („Lollipop”; Android 5.0) lub nowszy. Zapoznaj się z informacjami o wersji Najnowsze informacje o wymaganiach dotyczących wersji pakietu SDK.
Jako Język konfiguracji kompilacji ustaw Kotlin DSL lub Groovy DSL. Fragmenty obu języków konfiguracji kompilacji są wyświetlane poniżej procedur.
Kliknij Zakończ.
Android Studio uruchamia Gradle i kompiluje projekt. Może to chwilę potrwać.
Dodaj Aktywność związaną z zdjęciami w Mapach Google:
- Kliknij prawym przyciskiem myszy folder
app
w projekcie. Wybierz Nowy > Google > Aktywność związana z Zdjęciami w Mapach Google.
W oknie Nowa aktywność na Androidzie wybierz Aktywność programu uruchamiającego.
Wybierz Zakończ.
Więcej informacji: Dodawanie kodu z szablonu
- Kliknij prawym przyciskiem myszy folder
Po zakończeniu kompilacji Android Studio otwiera okno
AndroidManifest.xml
iMapsActivity
plików. Aktywność może mieć inną nazwę, ale to adres skonfigurowany podczas konfiguracji.
Skonfiguruj projekt Google Cloud
Zakończ wymagane czynności konfiguracyjne Cloud Console, klikając na tych kartach:
Krok 1
Konsola
-
Na stronie selektora projektów w konsoli Google Cloud kliknij Utwórz projekt, aby rozpocząć tworzenie nowego projektu Cloud. w projektach AI.
-
Sprawdź, czy w projekcie Cloud włączone są płatności. Sprawdź, czy w projekcie są włączone płatności.
Google Cloud oferuje okres próbny w wysokości 0,00 USD. Okres próbny kończy się po upływie każdego końca 90 dni lub po naliczeniu na koncie opłat w wysokości 300 USD, zależnie od tego, co nastąpi wcześniej. Anuluj w każdej chwili. Google Maps Platform oferuje cykliczne środki w wysokości 200 USD miesięcznie. Więcej Więcej informacji zawiera Środki na koncie rozliczeniowym i Płatności.
Pakiet SDK Cloud
gcloud projects create "PROJECT"
Przeczytaj więcej na temat Pakiet SDK Google Cloud , Instalacja pakietu SDK Cloud oraz tych poleceń:
.Krok 2
Aby używać 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"
Przeczytaj więcej na temat Pakiet SDK Google Cloud , Instalacja pakietu SDK Cloud oraz tych poleceń:
Krok 3
Ten krok wykonuje się tylko w procesie tworzenia klucza interfejsu API. Jeśli używasz klucza interfejsu API w w środowisku produkcyjnym zdecydowanie zalecamy ograniczenie klucza interfejsu API. Więcej informacji na ten temat znajdziesz na stronie Using API Keys (Używanie kluczy interfejsu API) w danej usłudze.
Klucz interfejsu API to unikalny identyfikator, który uwierzytelnia żądania powiązane z projektem w: użytkowania i rozliczeń. Musisz mieć co najmniej 1 klucz interfejsu API powiązany z projektem.
Aby utworzyć klucz interfejsu API:
Konsola
-
Otwórz Google Maps Platform > Dane logowania.
-
Na stronie Dane logowania kliknij Utwórz dane logowania > API.
W oknie Utworzono klucz interfejsu API pojawi się nowo utworzony klucz interfejsu API. -
Kliknij Zamknij.
Nowy klucz interfejsu API znajdziesz na stronie Dane logowania w sekcji Klucze interfejsu API.
(Pamiętaj o ograniczeniu dostępu do interfejsu API przed użyciem w środowisku produkcyjnym).
Pakiet SDK Cloud
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Przeczytaj więcej na temat Pakiet SDK Google Cloud , Instalacja pakietu SDK Cloud oraz tych poleceń:
Dodawanie klucza interfejsu API do aplikacji
W tej sekcji opisano, jak zapisać klucz interfejsu API, aby umożliwić bezpieczne korzystanie z niego
do aplikacji. Nie sprawdzaj klucza interfejsu API w systemie kontroli wersji, dlatego zalecamy
i przechowywanie go w pliku secrets.properties
, który znajduje się w katalogu głównym instancji
w projektach AI. Więcej informacji o pliku secrets.properties
znajdziesz tutaj:
Pliki właściwości Gradle.
Aby usprawnić to zadanie, zalecamy skorzystanie z Wtyczka Gradle obiektów tajnych na Androida.
Aby zainstalować wtyczkę Gradle obiektów tajnych na Androida w projekcie Map Google:
-
W Android Studio otwórz
build.gradle.kts
lubbuild.gradle
najwyższego poziomu. i dodaj ten kod do elementudependencies
podbuildscript
Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Zakręcony
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Otwórz plik
build.gradle.kts
lubbuild.gradle
na poziomie modułu i dodaj ten kod do elementuplugins
.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Zakręcony
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- W pliku
build.gradle.kts
lubbuild.gradle
na poziomie modułu sprawdź, że wartościtargetSdk
icompileSdk
są ustawione do 34. - Zapisz plik i zsynchronizować projekt z Gradle.
-
Otwórz plik
secrets.properties
w katalogu najwyższego poziomu, a następnie dodaj tego kodu. ZastąpYOUR_API_KEY
swoim kluczem interfejsu API. Przechowuj klucz w tym pliku ponieważsecrets.properties
nie jest sprawdzany w kontroli wersji systemu.MAPS_API_KEY=YOUR_API_KEY
- Zapisz plik.
-
Utwórz plik
local.defaults.properties
w katalogu najwyższego poziomu, tak samo jako pliksecrets.properties
, a potem dodaj podany niżej kod.MAPS_API_KEY=DEFAULT_API_KEY
Ten plik ma na celu udostępnienie zapasowej lokalizacji klucza interfejsu API, jeśli plik Nie znaleziono pliku
secrets.properties
, więc kompilacje nie zawierają błędów. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji, który pomijasecrets.properties
oraz nie utworzyłeś jeszcze lokalnie plikusecrets.properties
, który umożliwi przesyłanie klucz interfejsu API. - Zapisz plik.
-
W pliku
AndroidManifest.xml
otwórzcom.google.android.geo.API_KEY
i zaktualizujandroid:value attribute
. Jeśli tag<meta-data>
nie istnieje, utwórz go jako element podrzędny tagu<application>
.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Note:
com.google.android.geo.API_KEY
is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the namecom.google.android.maps.v2.API_KEY
. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception. -
In Android Studio, open your module-level
build.gradle.kts
orbuild.gradle
file and edit thesecrets
property. If thesecrets
property does not exist, add it.Edit the properties of the plugin to set
propertiesFileName
tosecrets.properties
, setdefaultPropertiesFileName
tolocal.defaults.properties
, and set any other properties.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
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 same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Spójrz na kod
Sprawdź kod w szablonie. W szczególności zwróć uwagę na te kwestie: w projekcie w Android Studio.
Plik aktywności w Mapach
Plik aktywności w Mapach jest główną aktywnością w aplikacji. który zawiera kod służący do zarządzania mapą i jej wyświetlania. Domyślnie plik zdefiniowane jest działanie o nazwie
MapsActivity.java
lub jeśli ustawisz Kotlin jako język Twojej aplikacji:MapsActivity.kt
.Główne elementy aktywności związanej z mapami:
Obiekt
SupportMapFragment
zarządza cyklu życia mapy i jest elementem nadrzędnym interfejsu aplikacji.Obiekt
GoogleMap
zapewnia dostęp do danych mapy i widok. To jest główna klasa pakietu SDK Maps na Androida. Obiekty mapy Przewodnik opisuje obiektySupportMapFragment
iGoogleMap
w bardziej szczegóły.Funkcja
moveCamera
wyśrodkowuje mapę na WspółrzędneLatLng
dla Sydney Australia. Pierwsze ustawienia skonfigurować podczas dodawania mapy to zwykle lokalizacja na mapie i ustawienia aparatu; takie jak kąt patrzenia, orientacja mapy i poziom powiększenia. Zobacz Przewodnik po aparacie i widoku zawiera szczegółowe informacje.Funkcja
addMarker
dodaje znacznik do współrzędnych dla: Sydney. Więcej informacji znajdziesz w przewodniku Znaczniki.
Plik Gradle modułu
Plik modułu
build.gradle.kts
zawiera następującą zależność map, która: jest wymagany przez pakiet Maps SDK na Androida.dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
Aby dowiedzieć się więcej o zarządzaniu zależnością Map, przeczytaj artykuł na temat obsługi wersji.
Plik układu XML
Plik
activity_maps.xml
to plik układu XML, który definiuje do struktury interfejsu aplikacji. Plik znajduje się w katalogures/layout
. Plikactivity_maps.xml
deklaruje fragment zawierający te elementy elementy:tools:context
ustawia domyślną aktywność fragmentu na wartośćMapsActivity
, która jest definiowana w pliku aktywności w Mapach.android:name
ustawia nazwę klasy fragmentu naSupportMapFragment
, czyli typ fragmentu używany w aktywności związanej z mapami .
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" />
Wdróż i uruchom aplikację
Po uruchomieniu aplikacji wyświetli się mapa wyśrodkowana na Sydney Australia ze znacznikiem na mieście, jak widać na poniższym zrzucie ekranu.
Aby wdrożyć i uruchomić aplikację:
- W Android Studio kliknij w menu opcję Uruchom (lub ikonę przycisku odtwarzania), aby uruchom 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ż zaznaczyć opcję Uruchom emulator, a potem kliknąć skonfigurowanego przez Ciebie urządzenia wirtualnego.
- Kliknij OK. Android Studio uruchomi Gradle, aby utworzyć aplikację, a następnie i wyświetlaj wyniki na urządzeniu lub w emulatorze. Aplikacja może uruchomić się po kilku minutach nowych funkcji.
Dalsze kroki
Skonfiguruj mapę: ten dokument opisuje sposób konfigurowania początkowych i czasowych ustawień mapy, takich jak takie jak pozycja kamery, typ mapy, komponenty interfejsu i gesty.
Dodawanie mapy do aplikacji na Androida (Kotlin): to ćwiczenie z programowania opisuje aplikację prezentującą dodatkowe funkcje Maps SDK na Androida.
Użyj biblioteki Map KTX na Androida: Ta biblioteka rozszerzeń Kotlin (KTX) pozwala korzystać z funkcje językowe Kotlin podczas korzystania z pakietu Maps SDK na Androida.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2024-08-22 UTC.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Brak potrzebnych mi informacji" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Zbyt skomplikowane / zbyt wiele czynności do wykonania" },{ "type": "thumb-down", "id": "outOfDate", "label":"Nieaktualne treści" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problem z tłumaczeniem" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Problem z przykładami/kodem" },{ "type": "thumb-down", "id": "otherDown", "label":"Inne" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Łatwo zrozumieć" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Rozwiązało to mój problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Inne" }]