SDK bản đồ dành cho Android có thể phân phát hình ảnh bitmap của bản đồ, cung cấp tương tác hạn chế đối với người dùng. Đây được gọi là bản đồ chế độ thu gọn.
Mã mẫu
Kho lưu trữ Apidemos trên GitHub bao gồm các mẫu minh hoạ cách sử dụng chế độ thu gọn:
- LitedemoActivity – Java: Kiến thức cơ bản về việc sử dụng bản đồ chế độ thu gọn trong Java
- LitedemoActivity – Kotlin: Kiến thức cơ bản về việc sử dụng bản đồ chế độ thu gọn trong Kotlin
- LiteListdemoActivity – Java: Hiển thị bản đồ hiệu quả trong ListView sử dụng chế độ thu gọn trong Java
- LiteListdemoActivity – Kotlin: Hiển thị bản đồ hiệu quả trong ListView sử dụng chế độ thu gọn trong Kotlin
Tổng quan về chế độ thu gọn
Bản đồ chế độ thu gọn là hình ảnh bitmap của bản đồ tại một vị trí và thu phóng được chỉ định cấp độ. Chế độ thu gọn hỗ trợ tất cả các loại bản đồ (bình thường, kết hợp, vệ tinh, địa hình) và một tập hợp con chức năng do API đầy đủ cung cấp. Chế độ thu gọn rất hữu ích khi bạn muốn cung cấp một số bản đồ trong một luồng hoặc một bản đồ mà quá nhỏ để hỗ trợ tương tác có ý nghĩa.
Người dùng xem bản đồ không thể thu phóng hoặc xoay bản đồ. Biểu tượng trên bản đồ cung cấp cho người dùng để xem bản đồ trong ứng dụng di động Google Maps và yêu cầu đường đi.
Thêm bản đồ chế độ thu gọn
Chế độ Lite sử dụng các lớp và giao diện giống như Android đầy đủ của Google Maps
API. Bạn có thể đặt GoogleMap
thành chế độ thu gọn trong phần sau
cách:
- Ở dạng thuộc tính XML cho
MapView
hoặcMapFragment
- Hoặc trong đối tượng
GoogleMapOptions
Dưới dạng thuộc tính XML cho MapView
hoặc MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
Trong đối tượng GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Để biết chi tiết về cách thiết lập trạng thái ban đầu của bản đồ, hãy xem hướng dẫn về đối tượng ánh xạ.
Ý định khởi chạy chế độ xem bản đồ hoặc yêu cầu chỉ đường
Theo mặc định, một thanh công cụ ở phía dưới cùng bên phải của bản đồ chứa các biểu tượng
cung cấp quyền truy cập vào chế độ xem bản đồ hoặc yêu cầu chỉ đường trong ứng dụng Google Maps
. Bạn có thể vô hiệu hoá thanh công cụ bằng cách gọi
UiSettings.setMapToolbarEnabled(false)
. Để biết thêm
chi tiết, hãy xem tài liệu về thanh công cụ.
Ngoài ra, theo mặc định, khi người dùng nhấn vào bản đồ, API sẽ khởi động ứng dụng Google Maps
. Bạn có thể ghi đè giá trị này bằng cách sử dụng GoogleMap.setOnMapClickListener()
để
thiết lập trình nghe của riêng bạn. Bạn cũng có thể vô hiệu hoá các sự kiện nhấp chuột trên bản đồ, bằng cách gọi
setClickable()
trên thành phần hiển thị chứa MapView
hoặc MapFragment
. Để
thông tin chi tiết về hai kỹ thuật này (hãy xem tài liệu về sự kiện).
Các sự kiện trong vòng đời
Khi sử dụng API ở chế độ tương tác hoàn toàn, người dùng lớp MapView
phải chuyển tiếp tất cả phương thức trong vòng đời hoạt động đến các phương thức tương ứng
trong lớp MapView
. Ví dụ về các phương pháp vòng đời bao gồm
onCreate()
, onDestroy()
, onResume()
và onPause()
.
Khi sử dụng lớp MapView
ở chế độ thu gọn, các sự kiện trong vòng đời chuyển tiếp sẽ
không bắt buộc, ngoại trừ các trường hợp sau:
- Bắt buộc phải gọi
onCreate()
, nếu không sẽ không có bản đồ nào xuất hiện. - Nếu bạn muốn hiển thị chấm Vị trí của tôi trên bản đồ chế độ thu gọn và sử dụng
nguồn vị trí mặc định, bạn sẽ cần gọi
onResume()
vàonPause()
, vì nguồn vị trí sẽ chỉ cập nhật giữa các lệnh gọi này. Nếu bạn sử dụng nguồn vị trí của riêng bạn, bạn không cần gọi hai phương pháp này.
Các tính năng API được hỗ trợ
Bảng sau đây mô tả hoạt động của bản đồ chế độ thu gọn cho từng khu vực Chức năng API. Nếu ứng dụng gọi một phương thức không được hỗ trợ ở chế độ thu gọn, thì API sẽ ghi lại một thông báo cảnh báo.
Chức năng | |
---|---|
Loại bản đồ | Được hỗ trợ? Có
Bản đồ sau đây
thông qua GoogleMapOptions.mapType() và
GoogleMap.setMapType() : MAP_TYPE_NORMAL ,
MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN ,
MAP_TYPE_HYBRID , MAP_TYPE_NONE |
Hình nhiều đường, đa giác, hình tròn | Được hỗ trợ? Có
Chức năng chế độ lite cho
hình dạng khớp với
API đầy đủ. |
Dự đoán | Được hỗ trợ? Có
Chức năng chế độ lite cho
Phép chiếu
khớp với API đầy đủ. |
Vị trí của tôi | Được hỗ trợ? Có
Chức năng chế độ lite cho
Lớp Vị trí của tôi
khớp với API đầy đủ. |
Khoảng đệm bản đồ | Được hỗ trợ? Có
Hỗ trợ chế độ lite cho
khoảng đệm bản đồ
khớp với API đầy đủ. |
Cửa sổ thông tin | Được hỗ trợ? Có
Nếu bạn đặt title() của một điểm đánh dấu, giá trị mặc định
cửa sổ thông tin sẽ
xuất hiện khi người dùng nhấn vào điểm đánh dấu. Bạn có thể hiện cửa sổ thông tin
theo phương thức lập trình bằng cách gọi showInfoWindow() trên điểm đánh dấu.
Bạn cũng có thể tạo cửa sổ thông tin tuỳ chỉnh thông qua
Giao diện InfoWindowAdapter . |
Kiểu bản đồ cơ sở tuỳ chỉnh | Được hỗ trợ? Một phần
SDK Bản đồ dành cho Android hỗ trợ
tạo kiểu tuỳ chỉnh cho
bản đồ cơ sở. Chế độ Lite chỉ hỗ trợ định kiểu tuỳ chỉnh dựa trên JSON, chứ không
định kiểu dựa trên đám mây yêu cầu mã nhận dạng bản đồ để hiển thị bản đồ được tạo kiểu.
Chế độ thu gọn cũng không hỗ trợ đặt
bảng phối màu bản đồ
sử dụng chế độ tối.
|
Điểm đánh dấu | Được hỗ trợ? Một phần
Bạn có thể thêm một điểm đánh dấu
và phản hồi một sự kiện nhấp chuột. Bạn cũng có thể thêm chế độ cài đặt tuỳ chỉnh
biểu tượng điểm đánh dấu. Không thể làm cho điểm đánh dấu có thể kéo được. Điểm đánh dấu trên
bản đồ trong chế độ lite phẳng và không thể xoay. |
Vị trí, tính năng thu phóng và ảnh động của máy ảnh | Được hỗ trợ? Một phần
Bạn có thể đặt mục tiêu và mức thu phóng của máy ảnh nhưng không thể đặt độ nghiêng hoặc góc phương vị.
Mức thu phóng được làm tròn đến số nguyên gần nhất ở chế độ thu gọn.
Bạn sẽ nhận được thêm một gói lite khác khi gọi Gọi |
Ánh xạ các sự kiện | Được hỗ trợ? Một phần
Hỗ trợ chế độ thu gọn
Để vô hiệu hoá sự kiện nhấp chuột trên bản đồ trong chế độ thu gọn, bạn có thể gọi
Để biết chi tiết, hãy xem sự kiện . |
Bản đồ và toà nhà trong nhà | Được hỗ trợ? Không
Chế độ thu gọn sẽ hiển thị các ô giống với
API tĩnh của Maps.
Điều này có nghĩa là nếu sơ đồ tầng trong nhà được đưa vào thẻ thông tin mặc định,
thì nó sẽ xuất hiện. Nếu không, tính năng này sẽ không hoạt động. Ngoài ra, bạn không thể thay đổi cấp
hiển thị hoặc thao tác một bộ chọn cấp độ. |
Lớp giao thông | Được hỗ trợ? Không
GoogleMap.setTrafficEnabled() không được hỗ trợ
ở chế độ lite. |
Lớp phủ mặt đất | Được hỗ trợ? Không
GoogleMap.addGroundOverlay() không được hỗ trợ trong phiên bản thu gọn
. |
Lớp phủ ô | Được hỗ trợ? Không
GoogleMap.addTileOverlay() không được hỗ trợ trong phiên bản thu gọn
. |
Cử chỉ | Được hỗ trợ? Không
Chế độ thu gọn không hỗ trợ cử chỉ. Bật và tắt cử chỉ
sẽ không có hiệu lực. |
Chế độ xem đường phố | Được hỗ trợ? Không
Chế độ xem đường phố mới là
không được hỗ trợ ở chế độ lite. |