Làm theo các bước sau để thiết lập kiểu theo hướng dữ liệu cho các ranh giới.
Bật trình kết xuất đồ hoạ bản đồ mới
Trình kết xuất bản đồ được nâng cấp có sẵn kể từ phiên bản 18.0.0 của SDK Bản đồ dành cho Android. Trình kết xuất đồ hoạ này mang lại nhiều cải tiến, bao gồm hỗ trợ định kiểu bản đồ dựa trên đám mây tới SDK Maps dành cho Android.
Với việc phát hành phiên bản 18.2.0 của SDK bản đồ dành cho Android, Google đã chuyển đổi trình kết xuất đồ hoạ mặc định từ trình kết xuất đồ hoạ cũ sang trình kết xuất bản đồ đã nâng cấp. Chiến dịch này có nghĩa là trình kết xuất bản đồ được nâng cấp hiện được sử dụng theo mặc định trong ứng dụng của bạn khi tạo ứng dụng mới hoặc tạo lại ứng dụng hiện có.
Tạo mã bản đồ
Để tạo mã bản đồ mới, hãy làm theo các bước tại Tạo mã bản đồ. Đảm bảo bạn đặt Loại bản đồ thành Android.
Tạo kiểu bản đồ mới
Để tạo kiểu bản đồ mới, hãy làm theo hướng dẫn trong mục Quản lý kiểu bản đồ để tạo kiểu và liên kết kiểu với mã nhận dạng bản đồ mà bạn vừa tạo.
Chọn các lớp đối tượng trong kiểu bản đồ mới của bạn
Trong Bảng điều khiển API của Google, bạn có thể chọn lớp tính năng để hiển thị kiểu bản đồ mới của bạn. Lớp đối tượng xác định loại ranh giới xuất hiện trên bản đồ (ví dụ: địa phương, tiểu bang, v.v.).
- Trong Bảng điều khiển API của Google, chuyển đến trang Kiểu bản đồ.
- Chọn một dự án nếu được nhắc.
- Chọn kiểu bản đồ.
- Nhấp vào menu thả xuống Lớp đối tượng để thêm hoặc xóa lớp.
- Nhấp vào Lưu để lưu các thay đổi và làm cho chúng khả dụng cho bản đồ của bạn.
Cập nhật mã khởi chạy bản đồ
Bước này yêu cầu ID bản đồ mà bạn vừa tạo. Bạn có thể tìm thấy thẻ này trên Quản lý Maps.
Để thêm mã bản đồ vào mã khởi chạy, hãy xem Thêm mã bản đồ vào ứng dụng của bạn.
Truy cập vào lớp đối tượng của bản đồ
Bạn sử dụng FeatureLayer
để đại diện cho từng lớp đối tượng của bản đồ, chẳng hạn như Mã bưu chính hoặc
Lớp đối tượng thành phố. Để truy cập vào một đối tượng lớp đối tượng, hãy gọi
GoogleMap.getFeatureLayer()
khi bản đồ khởi chạy:
Java
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
Kotlin
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
Truyền FeatureLayerOptions
vào getFeatureLayer()
để chỉ định loại của lớp đối tượng. Trong phần này
ví dụ như bạn muốn truy cập vào lớp POSTAL_CODE
. Tạo một
Đối tượng FeatureLayer
cho mỗi lớp mà bạn muốn tạo kiểu.
Sau khi có đối tượng FeatureLayer
, bạn có thể áp dụng kiểu cho đối tượng
đa giác có ranh giới trong đối tượng đó.
Kiểm tra các chức năng của bản đồ (bắt buộc)
Định kiểu theo hướng dữ liệu cho các ranh giới yêu cầu ID bản đồ. Nếu mã bản đồ bị thiếu hoặc
đã chuyển mã bản đồ không hợp lệ, không thể tải định kiểu theo hướng dữ liệu cho ranh giới. Là một
bước khắc phục sự cố, bạn có thể sử dụng
MapCapabilities
để kiểm tra xem định kiểu theo hướng dữ liệu cho các ranh giới có được hỗ trợ hay không.
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
Java
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());