Chế độ Lite

SDK Maps dành cho Android có thể phân phát hình ảnh bitmap của bản đồ, mang đến khả năng tương tác hạn chế cho 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ế độ đơn giản:

Tổng quan về chế độ Lite

Bản đồ ở chế độ đơn giản là hình ảnh bitmap của một bản đồ tại một vị trí và mức thu phóng cụ thể. Chế độ thu nhỏ 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 số 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 đồ quá nhỏ để hỗ trợ hoạt động tương tác có ý nghĩa.

Người dùng xem bản đồ không thể thu phóng hoặc di chuyển 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 di động Google Maps và yêu cầu chỉ đường.

Thêm bản đồ ở chế độ thu gọn

Chế độ thu gọn sử dụng các lớp và giao diện giống như Google Maps Android API đầy đủ. Bạn có thể đặt GoogleMap thành chế độ thu gọn theo các cách sau:

  • Dưới dạng thuộc tính XML cho MapView hoặc MapFragment
  • Hoặc trong đối tượng GoogleMapOptions

Là một 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 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ụ ở 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 di động Google Maps. Bạn có thể tắt thanh công cụ này bằng cách gọi UiSettings.setMapToolbarEnabled(false). Để biết thêm thông tin, 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 di động Google Maps. Bạn có thể ghi đè hành vi này bằng cách sử dụng GoogleMap.setOnMapClickListener() để đặt 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 trên bản đồ bằng cách gọi setClickable() trên khung 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ế độ hoàn toàn tương tác, người dùng lớp MapView phải chuyển tiếp tất cả cá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()onPause().

Khi sử dụng lớp MapViewchế độ đơn giản, 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 sẽ không có bản đồ nào xuất hiện.
  • Nếu muốn cho thấy dấu 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()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ế độ thu gọn cho từng khu vực chức năng API. Nếu một ứng dụng gọi một phương thức không được hỗ trợ ở chế độ đơn giả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ó được hỗ trợ không?
Các loại bản đồ sau đây có sẵn thông qua GoogleMapOptions.mapType()GoogleMap.setMapType(): MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE
Đường nhiều đoạn, đa giác, hình tròn
Có được hỗ trợ không?
Chức năng chế độ đơn giản cho các hình dạng khớp với API đầy đủ.
Dự đoán
Có được hỗ trợ không?
Chức năng chế độ đơn giản cho Projection (Phép chiếu) khớp với toàn bộ API.
Vị trí của tôi
Có được hỗ trợ không?
Chức năng của chế độ đơn giản 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?
Chế độ đơn giản hỗ trợ khoảng đệm bản đồ khớp với API đầy đủ.
Cửa sổ thông tin
Có được hỗ trợ không?
Nếu bạn đặt title() của một điểm đánh dấu, 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 cửa sổ thông tin theo 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
Maps SDK 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 này yêu cầu phải có mã bản đồ để kết xuất bản đồ có kiểu. Chế độ thu gọn cũng không hỗ trợ việc đặt bảng phối màu trên 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 một điểm đánh dấu và phản hồi sự kiện nhấp chuột. Bạn cũng có thể thêm các biểu tượng điểm đánh dấu tuỳ chỉnh. Bạn không thể kéo được điểm đánh dấu. Các điểm đánh dấu trên bản đồ ở chế độ thu gọn có dạng phẳng và không thể xoay được.
Vị trí, mức thu phóng và ảnh động của camera
Có được hỗ trợ không? Một phần

Bạn có thể đặt mục tiêu và mức thu phóng của camera, nhưng không thể đặt độ nghiêng hoặc hướng. Mức thu phóng được làm tròn đến số nguyên gần nhất ở chế độ đơn giản. Việc gọi GoogleMap.moveCamera() sẽ cung cấp cho bạn một hình ảnh bản đồ khác ở chế độ đơn giản. Để biết thêm thông tin về cách thiết lập và thao tác với camera, hãy xem phần Thay đổi chế độ xem.

Việc gọi GoogleMap.animateCamera() sẽ không dẫn đến ảnh động về chuyển động của camera. Chế độ xem camera sẽ di chuyển ngay lập tức đến vị trí mới.

Ánh xạ các sự kiện
Có được hỗ trợ không? Một phần

Chế độ thu gọn hỗ trợ GoogleMap.setOnMapClickListener()GoogleMap.setOnMapLongClickListener().

Để tắt các sự kiện nhấp chuột trên bản đồ ở chế độ thu gọn, bạn có thể gọi setClickable() trên khung hiển thị chứa MapView hoặc MapFragment. Ví dụ: điều này rất hữu ích khi hiển thị một hoặc nhiều bản đồ ở chế độ xem danh sách, trong đó bạn muốn sự kiện nhấp chuột sẽ gọi một thao tác không liên quan đến bản đồ.

Để biết thông tin chi tiết, hãy xem tài liệu về sự kiện.

Bản đồ và toà nhà trong nhà
Có được hỗ trợ không? Không
Chế độ thu gọn sẽ cho thấy các ô giống như Maps Static API. Điều này có nghĩa là nếu sơ đồ tầng trong nhà được kết hợp vào ô mặc định, thì sơ đồ đó sẽ xuất hiện. Nếu không, bạn sẽ không thể làm được. 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ợ ở chế độ thu gọn.
Lớp phủ mặt đất
Có được hỗ trợ không? Không
GoogleMap.addGroundOverlay() không được hỗ trợ ở chế độ đơn giản.
Lớp phủ ô
Có được hỗ trợ không? Không
GoogleMap.addTileOverlay() không được hỗ trợ ở chế độ đơn giản.
Cử chỉ
Có được hỗ trợ không? Không
Chế độ thu gọn 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ế độ thu gọn.