Bắt đầu

Chọn nền tảng: Android iOS JavaScript

Hãy làm theo các bước sau để thiết lập kiểu dựa trên 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 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 lại nhiều điểm cải tiến, bao gồm cả tính năng hỗ trợ định kiểu bản đồ dựa trên đám mây, cho SDK Bản đồ dành cho Android.

Với bản phát hành SDK Maps phiên bản 18.2.0 dành cho Android, Google đã chuyển 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 được sử dụng theo mặc định trong ứng dụng của bạn khi bạn tạo 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 phần Quản lý kiểu bản đồ để tạo kiểu và liên kết kiểu đó với mã bản đồ bạn vừa tạo.

Chọn các lớp đối tượng trong kiểu bản đồ mới

Trong Google API Console, bạn có thể chọn lớp đối tượng để hiển thị cho kiểu bản đồ mới. 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.).

  1. Trong Google API Console, hãy chuyển đến trang Kiểu bản đồ.
  2. Chọn một dự án nếu bạn nhận được lời nhắc.
  3. Chọn một kiểu bản đồ.
  4. Nhấp vào trình đơn thả xuống Lớp đối tượng để thêm hoặc xoá lớp.
  5. Nhấp vào Lưu để lưu các thay đổi và áp dụng cho bản đồ của bạn.

Ảnh chụp màn hình trình đơn thả xuống.

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ã bản đồ vào mã khởi chạy, hãy xem phần Thêm mã bản đồ vào ứng dụng.

Có quyền truy cập vào lớp đối tượng của bản đồ

Bạn sử dụng đối tượng FeatureLayer để biểu thị 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 Địa phương. Để 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 các đ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 thiếu mã bản đồ hoặc truyền mã bản đồ không hợp lệ, thì kiểu dựa trên dữ liệu cho ranh giới sẽ không tải được. Trong bước khắc phục sự cố, bạn có thể sử dụng MapCapabilities để kiểm tra xem tính năng tạo kiểu dựa trên dữ liệu cho 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());