Khi sử dụng SDK Bản đồ dành cho Android, bạn có thể tuỳ chỉnh cách người dùng tương tác với bản đồ của bạn bằng cách xác định thành phần giao diện người dùng tích hợp nào xuất hiện trên bản đồ và cử chỉ nào được 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ẫu Java
Chế độ Lite để giảm thiểu sự 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ới mức tương tác tối thiểu của người dùng, hãy cân nhắc sử dụng bản đồ ở chế độ lite. Chế độ thu gọn cung cấp hình ảnh bitmap của bản đồ ở 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ế độ lite.
Các thành phần điều khiển trên giao diện người dùng
Maps API cung cấp các thành phần điều khiển giao diện người dùng tích hợp 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
lấy được từ GoogleMap
bằng phương thức GoogleMap.getUiSettings
. Những thay đổi đối với lớp này sẽ được phản ánh ngay 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 bản đồ được tạo 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 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 chế độ điều khiển ra khỏi cạnh trên cùng, dưới cùng, bên trái hoặc bên phải bằng cách thêm padding vào đối tượng GoogleMap
.
Điều khiển thu phóng
API Maps cung cấp các chế độ đ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 bạn có thể bật bằng cách gọi UiSettings.setZoomControlsEnabled(true)
.
La bàn
API Maps cung cấp một đồ hoạ 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ị 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 quay 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ẽ biến mất ngay sau đó. Bạn có thể tắt hoàn toàn việc la bàn xuất hiệ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 chỉ xuất hiện ở góc trên cùng bên phải màn hình 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 cấp (bộ chọn tầng) sẽ xuất hiện gần cạnh trung tâm 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 cấp sẽ áp dụng cho toà nhà hiện đang được lấy nét, thường là toà nhà gần trung tâm màn hình nhất. Mỗi toà nhà có một cấp độ mặc định sẽ được chọn khi bộ chọn hiển thị 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 tính năng kiểm soát bộ chọn cấp độ bằng cách gọi GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Điều này sẽ 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ấp 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 của 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 Google Maps dành cho thiết bị di động.
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 hành động của người dùng. Trong bản đồ có khả năng 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 lại khi điểm đánh dấu không còn nằm trong tiêu điểm.
Thanh công cụ hiển thị 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. 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ụ có thể nhìn thấy ở phía dưới cùng bên phải của bản đồ trong ảnh chụp màn hình ở trên. Không có, 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.
Ánh xạ cử chỉ
Bản đồ được tạo bằng SDK Maps dành cho Android hỗ trợ các cử chỉ tương tự 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ể thiết lập tính năng thu phóng, xoay, nghiêng và góc phương vị bằng phương thức lập trình – xem phần Máy ảnh và chế độ xem để biết thêm thông tin chi tiết. 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í của camera theo phương thức lập trình hay không.
Giống như các chế độ điều khiể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 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 bản đồ được tạo thông qua Thuộc tính XML hoặc sử dụng lớp GoogleMapOptions
.
Xem phần Định cấu hình bản đồ để biết thêm 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 máy ảnh:
- 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/kéo bằng hai ngón tay
- Thu phóng bằng một ngón tay bằng cách nhấn đúp nhưng không thả ở 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 (kéo)
Người dùng có thể cuộn (kéo) xung 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 chúng 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à xoay. Bạn có thể tắt tính năng xoay bằng cách gọi UiSettings.setRotateGesturesEnabled(boolean)
.