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 bản đồ mới
Trình kết xuất bản đồ đã 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 này mang đến nhiều điểm cải tiến, bao gồm cả việc hỗ trợ định kiểu bản đồ dựa trên đám mây, cho SDK Maps dành cho Android.
Với bản phát hành phiên bản 18.2.0 của SDK Maps dành cho Android, Google đã chuyển đổi trình kết xuất mặc định từ trình kết xuất cũ sang trình kết xuất bản đồ đã nâng cấp. Thay đổi này có nghĩa là trình kết xuất bản đồ đã nâng cấp hiện sẽ được sử dụng theo mặc định trong ứng dụng của bạn khi bạn xây dựng một ứng dụng mới hoặc tạo lại một ứ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 trong bài viết Tạo mã bản đồ. Hãy nhớ đặ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 đồ 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 các lớp đối tượng để hiển thị cho kiểu bản đồ mới của mình. 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 Google API Console, hãy chuyển đến trang Kiểu bản đồ.
- Chọn một dự án nếu bạn nhận được lời nhắc.
- Chọn một kiểu bản đồ.
- Nhấp vào trình đơn thả xuống Lớp đối tượng để thêm hoặc xoá 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 mã bản đồ mà bạn vừa tạo. Bạn có thể tìm thấy thông tin này trên trang Quản lý Maps.
Để thêm mã nhận dạng bản đồ vào mã khởi chạy, hãy xem phần Thêm mã bản đồ vào ứng dụng.
Truy cập vào lớp đối tượng của bản đồ
Bạn sử dụng một đối tượng FeatureLayer
để đại diện cho từng lớp đối tượng của bản đồ, chẳng hạn như lớp đối tượng Mã bưu chính hoặc Thành phố. Để truy cập vào đố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 đối tượng FeatureLayerOptions
vào getFeatureLayer()
để chỉ định loại lớp đối tượng. Trong ví dụ này, bạn muốn truy cập vào lớp POSTAL_CODE
. Tạo một đối tượng FeatureLayer
khác nhau 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 đa giá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)
Bạn cần có mã bản đồ để tạo kiểu dựa trên dữ liệu cho ranh giới. Nếu mã bản đồ bị thiếu hoặc mã bản đồ không hợp lệ được chuyển, thì hệ thống sẽ không thể tải định kiểu theo hướng dữ liệu cho các ranh giới. Trong bước khắc phục sự cố, bạn có thể sử dụng MapCapabilities
để kiểm tra xem việc đị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());