Khi sử dụng Maps SDK cho Android, bạn có thể tuỳ chỉnh cách người dùng tương tác với bản đồ bằng cách xác định thành phần giao diện người dùng tích hợp sẵn nào sẽ xuất hiện trên bản đồ và cử chỉ nào được cho phép.
Mã mẫu
Kho lưu trữ ApiDemos trên GitHub bao gồm một mẫu minh hoạ cách sử dụng các tuỳ chọn điều khiển và cử chỉ:
- UiSettingsDemoActivity: Mẫu Kotlin
- UiSettingsDemoActivity: Mã mẫu Java
Chế độ thu gọn để giảm thiểu hoạt động tương tác của người dùng
Nếu bạn muốn có một bản đồ gọn nhẹ và ít tương tác với người dùng, hãy cân nhắc sử dụng bản đồ ở chế độ thu gọn. Chế độ thu gọn cung cấp hình ảnh bitmap của bản đồ tại một vị trí và mức thu phóng được chỉ định. Ở chế độ thu gọn, người dùng không thể kéo hoặc thu phóng bản đồ và các cử chỉ không hoạt động. Để biết thông tin chi tiết, hãy xem hướng dẫn về chế độ thu gọn.
Thành phần điều khiển trên giao diện người dùng
API Maps cung cấp các thành phần điều khiển trên giao diện người dùng tích hợp sẵn tương tự như các thành phần điều khiển trong ứng dụng Google Maps trên điện thoại Android. Bạn có thể bật/tắt chế độ hiển thị của các chế độ điều khiển này bằng cách sử dụng lớp UiSettings. Bạn có thể lấy lớp này từ GoogleMap bằng phương thức GoogleMap.getUiSettings. Các thay đổi được thực hiện trên lớp này sẽ được phản ánh ngay lập tức trên bản đồ. Để xem ví dụ về các tính năng này, hãy xem hoạt động minh hoạ Cài đặt giao diện người dùng trong ứng dụng mẫu.
Bạn cũng có thể định cấu hình hầu hết các tuỳ chọn này khi tạo bản đồ thông qua thuộc tính XML hoặc sử dụng lớp GoogleMapOptions. Hãy xem phần Định cấu hình trạng thái ban đầu để biết thêm thông tin chi tiết.
Mỗi thành phần điều khiển trên giao diện người dùng đều có một vị trí được xác định trước so với cạnh của bản đồ.
Bạn có thể di chuyển các nút điều khiển ra khỏi cạnh trên, dưới, trái hoặc phải bằng cách thêm khoảng đệm vào đối tượng GoogleMap.
Chế độ điều khiển mức thu phóng
API Maps cung cấp các nút điều khiển thu phóng tích hợp sẵn, xuất hiện ở góc dưới cùng bên phải của bản đồ. Các tính năng này bị tắt theo mặc định, nhưng có thể được bật bằng cách gọi UiSettings.setZoomControlsEnabled(true).
La bàn
API Maps cung cấp hình ảnh la bàn xuất hiện ở góc trên cùng bên trái của bản đồ trong một số trường hợp nhất định. La bàn sẽ chỉ xuất hiện khi máy ảnh được định hướng sao cho có góc phương vị khác 0 hoặc độ nghiêng khác 0. Khi người dùng nhấp vào la bàn, máy ảnh sẽ tạo ảnh động trở lại vị trí có góc phương vị và độ nghiêng bằng 0 (hướng mặc định) và la bàn sẽ mờ dần ngay sau đó. Bạn có thể tắt hoàn toàn la bàn bằng cách gọi UiSettings.setCompassEnabled(boolean).
Tuy nhiên, bạn không thể buộc la bàn luôn hiển thị.
Nút Vị trí của tôi
Nút Vị trí của tôi xuất hiện ở góc trên cùng bên phải màn hình chỉ khi lớp Vị trí của tôi được bật. Để biết thông tin chi tiết, hãy xem hướng dẫn về dữ liệu vị trí.
Bộ chọn cấp độ
Theo mặc định, bộ chọn tầng (bộ chọn tầng) sẽ xuất hiện gần cạnh bên phải của màn hình khi người dùng đang xem bản đồ trong nhà. Khi có hai hoặc nhiều bản đồ trong nhà hiển thị, bộ chọn tầng sẽ áp dụng cho toà nhà hiện đang được lấy tiêu điểm, thường là toà nhà gần tâm màn hình nhất. Mỗi toà nhà có một tầng mặc định sẽ được chọn khi bộ chọn xuất hiện lần đầu. Người dùng có thể chọn một cấp độ khác bằng cách chọn cấp độ đó trong bộ chọn.
Bạn có thể tắt hoặc bật chế độ điều khiển bộ chọn tầng bằng cách gọi GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).
Điều này rất hữu ích nếu bạn muốn thay thế bộ chọn cấp mặc định bằng bộ chọn của riêng mình.
Thanh công cụ bản đồ
Theo mặc định, một thanh công cụ sẽ xuất hiện ở dưới cùng bên phải bản đồ khi người dùng nhấn vào một điểm đánh dấu. Thanh công cụ giúp người dùng truy cập nhanh vào ứng dụng di động Google Maps.
Bạn có thể bật và tắt thanh công cụ bằng cách gọi
UiSettings.setMapToolbarEnabled(boolean).
Trong bản đồ chế độ thu gọn, thanh công cụ vẫn tồn tại độc lập với các thao tác của người dùng. Trong bản đồ tương tác đầy đủ, thanh công cụ sẽ trượt vào khi người dùng nhấn vào một điểm đánh dấu và trượt ra khi điểm đánh dấu không còn được lấy tiêu điểm.
Thanh công cụ hiển thị các biểu tượng cho phép 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. Khi người dùng nhấn vào một biểu tượng trên thanh công cụ, API sẽ tạo một ý định để khởi chạy hoạt động tương ứng trong ứng dụng Google Maps dành cho thiết bị di động.
Thanh công cụ xuất hiện ở dưới cùng bên phải của bản đồ trong ảnh chụp màn hình ở trên. Không, một hoặc cả hai biểu tượng ý định sẽ xuất hiện trên bản đồ, tuỳ thuộc vào nội dung của bản đồ và miễn là ứng dụng Google Maps dành cho thiết bị di động hỗ trợ ý định thu được.
Cử chỉ trên bản đồ
Bản đồ được tạo bằng SDK Maps cho Android hỗ trợ các cử chỉ giống như ứng dụng Google Maps. Tuy nhiên, có thể có những trường hợp bạn muốn tắt một số cử chỉ nhất định để giữ nguyên trạng thái của bản đồ. Bạn cũng có thể đặt chế độ thu phóng, xoay, nghiêng và góc phương vị theo phương thức lập trình – hãy xem phần Camera và Chế độ xem để biết thêm thông tin chi tiết. Xin lưu ý rằng việc tắt cử chỉ không ảnh hưởng đến việc bạn có thể thay đổi vị trí camera theo phương thức lập trình hay không.
Giống như các thành phần điều khiển trên giao diện người dùng, bạn có thể bật/tắt cử chỉ bằng lớp UiSettings. Bạn có thể lấy lớp này từ GoogleMap bằng cách gọi GoogleMap.getUiSettings. Các thay đổi được thực hiện trên lớp này sẽ được phản ánh ngay lập tức trên bản đồ. Để xem ví dụ về các tính năng này, hãy xem hoạt động minh hoạ Cài đặt giao diện người dùng trong ứng dụng mẫu (xem tại đây để biết cách cài đặt).
Bạn cũng có thể định cấu hình các tuỳ chọn này khi tạo bản đồ thông qua Thuộc tính XML hoặc sử dụng lớp GoogleMapOptions.
Hãy xem phần Định cấu hình bản đồ để biết thêm thông tin chi tiết.
Cử chỉ thu phóng
Bản đồ phản hồi nhiều cử chỉ có thể thay đổi mức thu phóng của camera:
- Nhấn đúp để tăng mức thu phóng thêm 1 (phóng to).
- Nhấn bằng hai ngón tay để giảm mức thu phóng đi 1 (thu nhỏ).
- Chụm/duỗi hai ngón tay
- Phóng to bằng một ngón tay bằng cách nhấn đúp nhưng không thả ra ở lần nhấn thứ hai, sau đó trượt ngón tay lên để thu nhỏ hoặc xuống để phóng to.
Bạn có thể tắt cử chỉ thu phóng bằng cách gọi UiSettings.setZoomGesturesEnabled(boolean). Điều này sẽ không ảnh hưởng đến việc người dùng có thể sử dụng các nút điều khiển thu phóng để phóng to và thu nhỏ hay không.
Cử chỉ cuộn (di chuyển)
Người dùng có thể cuộn (xoay) quanh bản đồ bằng cách kéo bản đồ bằng ngón tay.
Bạn có thể tắt tính năng cuộn bằng cách gọi UiSettings.setScrollGesturesEnabled(boolean).
Cử chỉ nghiêng
Người dùng có thể nghiêng bản đồ bằng cách đặt hai ngón tay lên bản đồ rồi di chuyển hai ngón tay xuống hoặc lên cùng nhau để tăng hoặc giảm góc nghiêng tương ứng. Bạn có thể tắt cử chỉ nghiêng bằng cách gọi UiSettings.setTiltGesturesEnabled(boolean).
Cử chỉ xoay
Người dùng có thể xoay bản đồ bằng cách đặt hai ngón tay lên bản đồ và thực hiện
thao tác xoay. Bạn có thể tắt tính năng xoay bằng cách gọi UiSettings.setRotateGesturesEnabled(boolean).