Sử dụng SDK bản đồ dành cho Android, bạn có thể tùy chỉnh cách thức người dùng có thể 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 nào được tích hợp sẵn 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ẫu minh hoạ việc sử dụng các tuỳ chọn điều khiển và cử chỉ:
- UiSettingsDemoActivity: Kotlin mẫu
- UiSettingsDemoActivity: Mẫu Java
Chế độ thu gọn để giảm thiểu tương tác của người dùng
Nếu bạn muốn bản đồ có kích thước nhẹ với tương tác của người dùng ở mức tối thiểu, 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 đồ ở vị trí và mức thu phóng. Trong chế độ thu gọn, người dùng không thể xoay hoặc thu phóng bản đồ và cử chỉ không có tác dụng. Để biết 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 chế độ kiểm soát giao diện người dùng tích hợp sẵn tương tự như các tính năng
trong ứng dụng Google Maps trên điện thoại Android của bạn. Bạn có thể bật/tắt
chế độ hiển thị của các chế độ kiểm soát này bằng cách sử dụng lớp UiSettings
mà bạn có thể lấy từ GoogleMap
có GoogleMap.getUiSettings
. Những 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 đồ. Người nhận
hãy xem một ví dụ về các tính năng này, hãy xem hoạt động minh hoạ cho Chế độ 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 tùy chọn này khi bản đồ được tạo
qua các thuộc tính XML hoặc sử dụng GoogleMapOptions
. Xem phần Định cấu hình trạng thái ban đầu để biết thêm 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 tương ứng 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 cùng, dưới cùng, bên trái hoặc bên phải bằng cách
thêm khoảng đệm vào đối tượng GoogleMap
.
Điều khiển thu phóng
API Maps cung cấp các điều khiển thu phóng tích hợp xuất hiện ở phía dưới cùng
góc bên phải của bản đồ. Các trình xử lý 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)
.
![Các nút điều khiển thu phóng ở dưới cùng bên phải. Điều khiển thu phóng](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/zoomcontrols.png?authuser=5&hl=vi)
La bàn
API Maps cung cấp hình ảnh la bàn xuất hiện ở trên cùng bên trái
góc của bản đồ trong những trường hợp nhất định. La bàn sẽ chỉ bao giờ kết thúc
xuất hiện khi camera được định hướng sao cho nó 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ẽ hoạt động trở lại
đến vị trí có góc phương vị và độ nghiêng bằng 0 (hướng mặc định)
và la bàn biến mất ngay sau đó. Bạn có thể tắt la bàn
xuất hiện hoàn toà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ị.
![La bàn ở trên cùng bên trái. La bàn](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/compass.png?authuser=5&hl=vi)
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í.
![Nút Vị trí của tôi ở phía trên bên phải. Nút Vị trí của tôi](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/mylocationbutton.png?authuser=5&hl=vi)
Bộ chọn cấp độ
Theo mặc định, công cụ chọn mức (công cụ chọn tầng) xuất hiện gần phía giữa bên phải cạnh màn hình khi người dùng đang xem bản đồ trong nhà. Khi hai hoặc bản đồ trong nhà hiển thị nhiều hơn, 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à vị trí gần giữa màn hình nhất. Mỗi toà nhà đều có một cấp mặc định và cấp này sẽ được chọn khi bộ chọn được được hiển thị đầu tiên. 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 quyền kiểm soát bộ chọn cấp 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ấp của riêng mình.
![Bộ chọn cấp độ gần chính giữa bên phải. Bộ chọn cấp độ](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/levelpicker.png?authuser=5&hl=vi)
Thanh công cụ của bản đồ
Theo mặc định, một thanh công cụ xuất hiện ở phía 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 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ụ duy trì độc lập với thanh công cụ của người dùng hành động. Trong một 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 điểm đánh dấu và trượt ra lần nữa khi điểm đánh dấu không còn được đặt 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 chỉ đường trong ứng dụng di động Google Maps. 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 di động Google Maps.
![Thanh công cụ ở dưới cùng bên phải. Thanh công cụ bản đồ](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/intents.png?authuser=5&hl=vi)
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, 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 di động Google Maps hỗ trợ ý định kết quả.
Cử chỉ trên bản đồ
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 mà bạn muốn để tắt một số cử chỉ nhất định nhằm duy trì trạng thái của bản đồ. Thu phóng, xoay, nghiêng và góc phương vị cũng có thể được thiết lập theo chương trình - xem Camera 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 đ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
có thể lấy từ GoogleMap
bằng cách gọi GoogleMap.getUiSettings
. Những thay đổi đối với lớp này là
đượ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 bản đồ được tạo thông qua XML
Các thuộc tính 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 camera:
- Nhấn đúp để tăng mức thu phóng thêm 1 mức (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
- Thu phóng bằng một ngón tay bằng cách nhấn đúp nhưng không thả ra khi nhấn lần thứ hai, sau đó trượt ngón tay lên để thu nhỏ hoặc trượt 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ỏ.
Cử chỉ cuộn (di chuyển)
Người dùng có thể cuộn (xoay) xung quanh bản đồ bằng cách dùng ngón tay kéo bản đồ.
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 trên bản đồ và 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 trên bản đồ và áp dụng một
chuyển động xoay. Bạn có thể tắt tính năng xoay bằng cách gọi
UiSettings.setRotateGesturesEnabled(boolean)
.