SDK Bản đồ dành cho Android có thể phân phát hình ảnh bitmap của bản đồ, cung cấp khả năng tương tác hạn chế cho người dùng. Đây được gọi là bản đồ chế độ lite.
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ế độ lite:
- LiteDemoActivity – Java: Kiến thức cơ bản về cách sử dụng bản đồ chế độ lite trong Java
- LiteDemoActivity – Kotlin: Kiến thức cơ bản về cách sử dụng bản đồ chế độ Lite trong Kotlin
- LiteListDemoActivity – Java: Hiển thị bản đồ một cách hiệu quả trong ListView bằng cách sử dụng chế độ lite trong Java
- LiteListDemoActivity – Kotlin: Hiển thị bản đồ một cách hiệu quả trong ListView bằng cách sử dụng chế độ Lite trong Kotlin
Tổng quan về chế độ Lite
Bản đồ ở chế độ Lite là hình ảnh bitmap của một bản đồ ở vị trí và mức thu phóng được chỉ định. Chế độ Lite 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ế độ Lite rất hữu ích khi bạn muốn cung cấp một số bản đồ trong luồng hoặc một bản đồ 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 đồ. Các biểu tượng trên bản đồ cho phép người dùng xem bản đồ trong ứng dụng Google Maps dành cho thiết bị di động và yêu cầu chỉ đường.
Thêm bản đồ ở chế độ lite
Chế độ Lite sử dụng các lớp và giao diện giống như API Android Google Maps đầy đủ. Bạn có thể đặt GoogleMap
thành chế độ lite theo các cách sau:
- Dưới 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 thông tin chi tiết về cách đặt trạng thái ban đầu của bản đồ, hãy xem hướng dẫn về đối tượng bản đồ.
Ý định chạy chế độ xem bản đồ hoặc yêu cầu đường đi
Theo mặc định, thanh công cụ ở 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 dành cho thiết bị di động. Bạn có thể tắt thanh công cụ bằng cách gọi UiSettings.setMapToolbarEnabled(false)
. Để biết thêm thông tin 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 dành cho thiết bị di động. Bạn có thể ghi đè thao tác này bằng cách sử dụng GoogleMap.setOnMapClickListener()
để đặt trình nghe của riêng mình. Bạn cũng có thể tắt các sự kiện nhấp 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
. Để biết thông tin chi tiết về hai kỹ thuật này, hãy xem tài liệu về sự kiện.
Sự kiện trong vòng đời
Khi sử dụng API ở chế độ tương tác đầy đủ, người dùng lớp MapView
phải chuyển tiếp tất cả phương thức 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 thức vòng đời bao gồm onCreate()
, onDestroy()
, onResume()
và onPause()
.
Khi sử dụng lớp MapView
ở chế độ lite, bạn không bắt buộc phải chuyển tiếp các sự kiện trong vòng đời, ngoại trừ các trường hợp sau:
- Bạn bắt buộc phải gọi
onCreate()
, nếu không, bản đồ sẽ không xuất hiện. - Nếu muốn hiển thị dấu chấm Vị trí của tôi trên bản đồ ở chế độ lite và sử dụng nguồn vị trí mặc định, bạn 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 sử dụng nguồn vị trí của riêng mình, bạn không cần gọi hai phương thức này.
Các tính năng API được hỗ trợ
Bảng sau đây mô tả hành vi của bản đồ chế độ Lite cho từng khu vực chức năng của API. Nếu một ứng dụng gọi một phương thức không được hỗ trợ ở chế độ lite, 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ó được hỗ trợ không? Có
Có các loại 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 |
Đường đa tuyến, đa giác, vòng tròn | Có được hỗ trợ không? Có
Chức năng của chế độ lite cho hình dạng khớp với API đầy đủ. |
Dự đoán | Có được hỗ trợ không? Có
Chức năng của chế độ lite cho Projection khớp với API đầy đủ. |
Vị trí của tôi | Có được hỗ trợ không? 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ó được hỗ trợ không? Có
Tính năng hỗ trợ chế độ lite cho khoảng đệm bản đồ khớp với API đầy đủ. |
Cửa sổ thông tin | Có được hỗ trợ không? Có
Nếu bạn đặt title() của một điểm đánh dấu, thì cửa sổ thông tin mặc định 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 thị cửa sổ thông tin bằng cách 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ó được hỗ trợ không? Một phần
SDK Bản đồ dành cho Android hỗ trợ kiểu tuỳ chỉnh của bản đồ cơ sở. Chế độ Lite chỉ hỗ trợ kiểu tuỳ chỉnh dựa trên JSON, chứ không hỗ trợ kiểu dựa trên đám mây. Kiểu dựa trên đám mây yêu cầu mã bản đồ để hiển thị bản đồ được tạo kiểu.
Chế độ Lite cũng không hỗ trợ việc đặt bảng phối màu bản đồ để sử dụng chế độ tối.
|
Điểm đánh dấu | Có được hỗ trợ không? Một phần
Bạn có thể thêm điểm đánh dấu và phản hồi sự kiện nhấp. Bạn cũng có thể thêm biểu tượng điểm đánh dấu tuỳ chỉnh. Không thể kéo điểm đánh dấu. Các điểm đánh dấu trên bản đồ ở chế độ Lite có dạng phẳng và không thể xoay được. |
Vị trí máy ảnh, thu phóng và ảnh động | Có được hỗ trợ không? Một phần
Bạn có thể đặt mục tiêu và thu phóng của máy ảnh, nhưng không thể đặt độ nghiêng hoặc hướng.
Cấp độ thu phóng được làm tròn đến số nguyên gần nhất ở chế độ Lite.
Việc gọi Việc gọi |
Ánh xạ các sự kiện | Có được hỗ trợ không? Một phần
Chế độ Lite hỗ trợ Để tắt các sự kiện nhấp chuột trên bản đồ ở chế độ lite, bạn có thể gọi Để biết thông tin chi tiết, hãy xem tài liệu về sự kiện. |
Bản đồ trong nhà và toà nhà | Có được hỗ trợ không? Không
Chế độ Lite sẽ hiển thị các thẻ thông tin giống như API tĩnh của Maps.
Điều này có nghĩa là nếu bản vẽ mặt bằng nội thất được đưa vào thẻ thông tin mặc định, thì bản vẽ đó sẽ xuất hiện. Nếu không, ứng dụng sẽ không hoạt động. Ngoài ra, bạn không thể thay đổi cấp độ được hiển thị hoặc thao tác với bộ chọn cấp. |
Lớp lưu lượng truy cập | Có được hỗ trợ không? Không
GoogleMap.setTrafficEnabled() không được hỗ trợ trong chế độ lite. |
Lớp phủ mặt đất | Có được hỗ trợ không? Không
GoogleMap.addGroundOverlay() không được hỗ trợ ở chế độ lite. |
Lớp phủ ô | Có được hỗ trợ không? Không
GoogleMap.addTileOverlay() không được hỗ trợ ở chế độ lite. |
Cử chỉ | Có được hỗ trợ không? Không
Chế độ Lite không hỗ trợ cử chỉ. Việc bật và tắt cử chỉ sẽ không có hiệu lực. |
Chế độ xem đường phố | Có được hỗ trợ không? Không
Chế độ xem đường phố không được hỗ trợ ở chế độ lite. |