Tạo một ứng dụng Android hiển thị bản đồ bằng cách sử dụng Chế độ xem Google Maps cho Android Studio. Nếu bạn đang có một dự án Android Studio mà bạn muốn thiết lập, hãy xem phần Thiết lập dự án Android Studio.
Hướng dẫn bắt đầu nhanh này dành cho các nhà phát triển đã quen với các Phát triển Android bằng Kotlin hoặc Java.
Giới thiệu về môi trường phát triển
Hướng dẫn bắt đầu nhanh này được phát triển bằng Android Studio Hedgehog và Android Trình bổ trợ Gradle phiên bản 8.2.
Thiết lập thiết bị Android
Để chạy một ứng dụng sử dụng SDK bản đồ dành cho Android, bạn phải triển khai ứng dụng đó cho thiết bị Android hoặc Android trình mô phỏng dựa trên Android 5.0 trở lên và bao gồm các API của Google.
- Để sử dụng thiết bị Android, hãy làm theo hướng dẫn tại Chạy ứng dụng trên thiết bị phần cứng.
- Để sử dụng trình mô phỏng Android, bạn có thể tạo thiết bị ảo và cài đặt trình mô phỏng bằng cách sử dụng Trình quản lý thiết bị Android ảo (AVD) đi kèm với Android Studio.
Tạo một dự án trên Google Maps trong Android Studio
Quy trình tạo dự án Google Maps trong Android Studio đã được thay đổi trong Flamingo và các bản phát hành Android Studio sau này.
Mở Android Studio rồi nhấp vào New Project (Dự án mới) trong Cửa sổ Chào mừng bạn đến với Android Studio.
Trong cửa sổ New Project (Dự án mới), trong danh mục Phone and Tablet (Điện thoại và máy tính bảng), chọn No Activity (Không có hoạt động) rồi nhấp vào Next (Tiếp theo).
Hoàn tất biểu mẫu Dự án mới:
Đặt Language (Ngôn ngữ) thành Java hoặc Kotlin. Cả hai ngôn ngữ đều được hỗ trợ đầy đủ bởi SDK bản đồ dành cho Android. Để tìm hiểu thêm về Kotlin, hãy xem Phát triển ứng dụng Android bằng Kotlin.
Đặt Minimum SDK (SDK tối thiểu) thành một phiên bản SDK tương thích với thiết bị thử nghiệm. Bạn phải chọn một phiên bản lớn hơn phiên bản tối thiểu mà SDK Bản đồ dành cho Android phiên bản 19.0.x, là API Android cấp 21 ("Lollipop"; Android 5.0) trở lên. Hãy xem phần Ghi chú phát hành để thông tin mới nhất về yêu cầu đối với phiên bản SDK.
Đặt Build configuration language (Ngôn ngữ cấu hình bản dựng) thành Kotlin DSL hoặc Groovy DSL. Đoạn mã của cả hai ngôn ngữ cấu hình bản dựng xuất hiện như sau các quy trình.
Nhấp vào Hoàn tất.
Android Studio khởi động Gradle và xây dựng dự án. Quá trình này có thể mất chút thời gian.
Thêm Hoạt động trên Chế độ xem trên Google Maps:
- Nhấp chuột phải vào thư mục
app
trong dự án. Chọn New > (Mới >) Google > Hoạt động trên Chế độ xem trên Google Maps.
Trong hộp thoại New Android Activity (Hoạt động Android mới), chọn Hộp đánh dấu launcher Activity (Hoạt động của trình chạy).
Chọn Finish (Hoàn tất).
Để biết thêm thông tin, hãy xem Thêm mã từ một mẫu
- Nhấp chuột phải vào thư mục
Khi quá trình tạo bản dựng hoàn tất, Android Studio sẽ mở
AndroidManifest.xml
vàMapsActivity
tệp. Hoạt động của bạn có thể có tên khác, nhưng là thẻ mà bạn đã định cấu hình trong quá trình thiết lập.
Thiết lập dự án trên Google Cloud
Hoàn thành các bước thiết lập Cloud Console bắt buộc bằng cách nhấp vào thông qua các thẻ sau:
Bước 1
Giao diện dòng lệnh
-
Trong Google Cloud Console, trên trang bộ chọn dự án, hãy nhấp vào Tạo dự án để bắt đầu tạo Đám mây mới dự án.
-
Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Google Cloud. Xác nhận rằng tính năng thanh toán đã được bật cho dự án của bạn.
Google Cloud cung cấp ưu đãi dùng thử miễn phí 0 USD. Thời gian dùng thử sẽ hết hạn vào cuối 90 giờ ngày hoặc sau khi tài khoản đã tích luỹ được các khoản phí trị giá 300 đô la Mỹ, tuỳ vào điều kiện nào đến trước. Hủy bất cứ lúc nào. Nền tảng Google Maps có tín dụng $200 định kỳ hằng tháng. Để biết thêm thông tin, xem Tín dụng tài khoản thanh toán và Thanh toán.
SDK đám mây
gcloud projects create "PROJECT"
Đọc thêm về chính sách SDK Google Cloud , Cài đặt Cloud SDK , và các lệnh sau:
Bước 2
Để sử dụng Nền tảng Google Maps, bạn phải bật các API hoặc SDK mà bạn định sử dụng với dự án của mình.
Giao diện dòng lệnh
SDK đám mây
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
Đọc thêm về chính sách SDK Google Cloud , Cài đặt Cloud SDK , và các lệnh sau:
Bước 3
Bước này chỉ trải qua quy trình tạo Khoá API. Nếu bạn sử dụng Khoá API trong phát hành chính thức, bạn nên hạn chế khoá API của mình. Bạn có thể tìm hiểu thêm thông tin trên trang Sử dụng khoá API dành riêng cho sản phẩm.
Khoá API là giá trị nhận dạng duy nhất giúp xác thực các yêu cầu liên kết với dự án của bạn cho cho mục đích sử dụng và thanh toán. Bạn phải có ít nhất một khoá API liên kết với dự án của mình.
Cách tạo khoá API:
Giao diện dòng lệnh
-
Truy cập vào Nền tảng Google Maps > Thông tin đăng nhập.
-
Trên trang Thông tin xác thực, hãy nhấp vào Tạo thông tin xác thực > Khoá API.
Hộp thoại API key đã được tạo sẽ hiển thị khoá API mới tạo của bạn. -
Nhấp vào Close (Đóng).
Khoá API mới được liệt kê trên trang Thông tin xác thực trong phần Khoá API.
(Hãy nhớ hạn chế API trước khi sử dụng trong phiên bản chính thức).
SDK đám mây
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Đọc thêm về chính sách SDK Google Cloud , Cài đặt Cloud SDK , và các lệnh sau:
Thêm khoá API vào ứng dụng của bạn
Phần này mô tả cách lưu trữ khoá API để bạn có thể tham chiếu khoá API một cách an toàn
ứng dụng của bạn. Bạn không nên kiểm tra khoá API trong hệ thống quản lý phiên bản của mình. Vì vậy, bạn nên
lưu trữ tệp này vào tệp secrets.properties
. Tệp này nằm trong thư mục gốc của
dự án. Để biết thêm thông tin về tệp secrets.properties
, hãy xem
Các tệp thuộc tính Gradle.
Để đơn giản hoá tác vụ này, bạn nên sử dụng Trình bổ trợ Secrets Gradle cho Android.
Cách cài đặt trình bổ trợ Secrets Gradle cho Android trong dự án Google Maps:
-
Trong Android Studio, hãy mở
build.gradle.kts
hoặcbuild.gradle
cấp cao nhất rồi thêm mã sau vào phần tửdependencies
trongbuildscript
.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Groovy
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Mở tệp
build.gradle.kts
hoặcbuild.gradle
ở cấp mô-đun rồi thêm mã sau đây vào phần tửplugins
.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Trong tệp
build.gradle.kts
hoặcbuild.gradle
ở cấp mô-đun, hãy đảm bảo rằngtargetSdk
vàcompileSdk
đã được đặt đến 34. - Lưu tệp và đồng bộ hoá dự án với Gradle.
-
Mở tệp
secrets.properties
trong thư mục cấp cao nhất của bạn, sau đó thêm sau đây. Thay thếYOUR_API_KEY
bằng khoá API. Lưu trữ khoá của bạn trong tệp này vìsecrets.properties
không được kiểm tra trong phần kiểm soát phiên bản hệ thống.MAPS_API_KEY=YOUR_API_KEY
- Lưu tệp.
-
Tạo tệp
local.defaults.properties
trong thư mục cấp cao nhất cũng bằng cách này làm tệpsecrets.properties
, rồi thêm mã sau.MAPS_API_KEY=DEFAULT_API_KEY
Mục đích của tệp này là cung cấp vị trí sao lưu cho khoá API nếu Không tìm thấy tệp
secrets.properties
để các bản dựng không bị lỗi. Điều này có thể xảy ra nếu bạn sao chép ứng dụng từ một hệ thống quản lý phiên bản, trong đó bỏ quasecrets.properties
và bạn chưa tạo tệpsecrets.properties
cục bộ để cung cấp Khoá API. - Lưu tệp.
-
Trong tệp
AndroidManifest.xml
, chuyển đếncom.google.android.geo.API_KEY
rồi cập nhậtandroid:value attribute
. Nếu thẻ<meta-data>
không tồn tại, hãy tạo thẻ này làm thẻ con của Thẻ<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.*" }
Groovy
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.*" }
Xem mã
Kiểm tra mã do mẫu cung cấp. Cụ thể, hãy xem xét trong dự án Android Studio.
Tệp hoạt động trên Maps
Tệp hoạt động trên bản đồ là hoạt động chính cho ứng dụng và chứa mã để quản lý và hiển thị bản đồ. Theo mặc định, tệp mà xác định hoạt động được đặt tên là
MapsActivity.java
hoặc nếu bạn đặt Kotlin làm thuộc tính ngôn ngữ cho ứng dụng của bạn,MapsActivity.kt
.Các thành phần chính của hoạt động trên Maps:
Đối tượng
SupportMapFragment
quản lý vòng đời của bản đồ và là phần tử mẹ trên giao diện người dùng của ứng dụng.Đối tượng
GoogleMap
cung cấp quyền truy cập vào dữ liệu bản đồ và chế độ xem. Đây là lớp chính của SDK bản đồ dành cho Android. Đối tượng bản đồ Guide mô tả các đối tượngSupportMapFragment
vàGoogleMap
chi tiết hơn chi tiết hơn.Hàm
moveCamera
căn giữa bản đồ ởLatLng
toạ độ cho Sydney, Úc. Chế độ cài đặt đầu tiên để định cấu hình khi thêm bản đồ thường là cài đặt vị trí bản đồ và máy ảnh; như góc nhìn, hướng bản đồ và mức thu phóng. Xem Hướng dẫn về Camera và chế độ xem để biết thông tin chi tiết.Hàm
addMarker
thêm một điểm đánh dấu vào toạ độ cho Sydney. Xem hướng dẫn về Điểm đánh dấu để biết thông tin chi tiết.
Tệp Gradle mô-đun
Tệp Mô-đun
build.gradle.kts
bao gồm phần phụ thuộc ánh xạ sau, đó là là yêu cầu của SDK bản đồ dành cho Android.dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
Để tìm hiểu thêm về cách quản lý phần phụ thuộc Maps, hãy xem nội dung Versioning (Lập phiên bản).
Tệp bố cục XML
Tệp
activity_maps.xml
là tệp bố cục XML xác định cấu trúc giao diện người dùng của ứng dụng. Tệp này nằm trong thư mụcres/layout
. Tệpactivity_maps.xml
khai báo một mảnh bao gồm những nội dung sau phần tử:tools:context
đặt hoạt động mặc định của mảnh vàoMapsActivity
, được xác định trong tệp hoạt động trên Maps.android:name
đặt tên lớp của mảnh thànhSupportMapFragment
, là loại mảnh được dùng trong hoạt động trên bản đồ .
Tệp bố cục XML chứa mã sau:
<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" />
Triển khai và chạy ứng dụng
Khi bạn chạy thành công ứng dụng, ứng dụng sẽ hiển thị một bản đồ được căn giữa Sydney Úc với một điểm đánh dấu trên thành phố như trong ảnh chụp màn hình sau đây.
Cách triển khai và chạy ứng dụng:
- Trong Android Studio, hãy nhấp vào tuỳ chọn trình đơn Run (Chạy) (hoặc biểu tượng nút phát) để chạy ứng dụng của bạn.
- Khi được nhắc chọn một thiết bị, hãy chọn một trong các lựa chọn sau:
- Chọn thiết bị Android đã kết nối với máy tính của bạn.
- Ngoài ra, hãy chọn nút chọn Khởi chạy trình mô phỏng rồi chọn thiết bị ảo mà bạn thiết lập.
- Nhấp vào OK. Android Studio sẽ khởi động Gradle để tạo ứng dụng của bạn, sau đó cho thấy kết quả trên thiết bị hoặc trình mô phỏng. Quá trình cập nhật ứng dụng có thể mất vài phút khởi chạy.
Các bước tiếp theo
Thiết lập bản đồ: Tài liệu này mô tả cách thiết lập cài đặt ban đầu và thời gian chạy cho bản đồ của bạn, chẳng hạn như như vị trí máy ảnh, loại bản đồ, thành phần giao diện người dùng và cử chỉ.
Thêm bản đồ vào ứng dụng Android (Kotlin): Lớp học lập trình này hướng dẫn bạn qua một ứng dụng minh hoạ một số tính năng bổ sung của SDK Bản đồ dành cho Android.
Sử dụng thư viện Maps Android KTX: Thư viện phần mở rộng Kotlin (KTX) này cho phép bạn tận dụng một số Các tính năng ngôn ngữ Kotlin khi sử dụng SDK Maps dành cho Android.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2024-08-22 UTC.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Thiếu thông tin tôi cần" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Quá phức tạp/quá nhiều bước" },{ "type": "thumb-down", "id": "outOfDate", "label":"Đã lỗi thời" },{ "type": "thumb-down", "id": "translationIssue", "label":"Vấn đề về bản dịch" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Vấn đề về mẫu/mã" },{ "type": "thumb-down", "id": "otherDown", "label":"Khác" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Dễ hiểu" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Giúp tôi giải quyết được vấn đề" },{ "type": "thumb-up", "id": "otherUp", "label":"Khác" }]