Thêm tập dữ liệu vào bản đồ

Trang này cho bạn biết cách thêm tập dữ liệu vào bản đồ và áp dụng kiểu.

Áp dụng kiểu cho một đối tượng tập dữ liệu.

Điều kiện tiên quyết

Trước khi tiếp tục, bạn cần có mã bản đồ, kiểu bản đồ và mã tập dữ liệu.

Liên kết mã tập dữ liệu với kiểu bản đồ

Để tạo kiểu cho các đối tượng của tập dữ liệu, bạn sẽ áp dụng hàm kiểu cho lớp đối tượng tập dữ liệu của bản đồ. Lớp đối tượng tập dữ liệu được tạo khi bạn liên kết tập dữ liệu với kiểu bản đồ.

Thực hiện các bước sau để liên kết tập dữ liệu với kiểu bản đồ mà bạn đang sử dụng:

  1. Trong Google Cloud Console, hãy chuyển đến trang Tập dữ liệu.
  2. Nhấp vào tên của tập dữ liệu. Trang Thông tin chi tiết về tập dữ liệu sẽ xuất hiện.
  3. Nhấp vào thẻ Xem trước.
  4. Trong mục Kiểu bản đồ được liên kết, hãy nhấp vào THÊM KIỂU BẢN ĐỒ.
    Ảnh chụp màn hình nút THÊM KIỂU BẢN ĐỒ.
  5. Nhấp vào(các) hộp đánh dấu tương ứng với(các) Kiểu bản đồ cần liên kết, rồi nhấp vào LƯU.

Áp dụng kiểu cho tập dữ liệu

Để tạo kiểu cho một đối tượng của lớp tập dữ liệu, hãy sử dụng phương thức đóng tạo kiểu chấp nhận GMSDatasetFeature và trả về GMSFeatureStyle để xác định các thuộc tính kiểu. Sau đó, hãy đặt thuộc tính kiểu thành một thành phần đóng tạo kiểu, trong đó có chứa logic tạo kiểu.

Quy trình đóng kiểu bắt buộc phải có tính xác định và trả về kết quả nhất quán khi áp dụng. Nếu thay đổi thông số định kiểu của bất cứ tính năng nào, thì bạn phải áp dụng lại kiểu đó.

Đặt nét vẽ, màu nền và bán kính điểm

Khi tạo kiểu cho một tính năng trong hàm factory factory, bạn có thể đặt:

  • Màu và độ mờ của nét chữ của đường viền do lớp UIColor xác định. Giá trị mặc định là trong suốt (UIColor.clearColor).

  • Độ rộng nét của đường viền tính bằng pixel màn hình. Giá trị mặc định là 2.

  • Điền màu và độ mờ do lớp UIColor xác định. Giá trị mặc định là trong suốt (UIColor.clearColor).

  • Bán kính điểm của một đối tượng điểm trong khoảng từ 0 đến 128 pixel.

Sử dụng quy tắc kiểu đơn giản

Cách đơn giản nhất để tạo kiểu cho các đối tượng là xác định các thuộc tính kiểu hằng số như màu sắc, độ mờ và chiều rộng đường kẻ. Áp dụng trực tiếp các lựa chọn kiểu đối tượng cho một lớp đối tượng tập dữ liệu hoặc sử dụng các lựa chọn này cùng với định kiểu tuỳ chỉnh.

Swift

let mapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12))

let layer = mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID")

// Define a style with green fill and stroke.
// Apply the style to all features in the dataset.
layer.style = { feature in
    let style = MutableFeatureStyle()
    style.fillColor = .green.withAlphaComponent(0.1)
    style.strokeColor = .green
    style.strokeWidth = 2.0
    return style
}

Objective-C

GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude: 40.7 longitude: -74.0 zoom:12]];

GMSDatasetFeatureLayer *layer = [mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"];

// Define a style with green fill and stroke.
// Apply the style to all features in the dataset.
layer.style = ^(GMSDatasetFeature *feature) {
    GMSMutableFeatureStyle *style = [GMSMutableFeatureStyle style];
    style.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.1];
    style.strokeColor = [UIColor greenColor];
    style.strokeWidth = 2.0;
    return style;
};

Sử dụng quy tắc kiểu khai báo

Bạn có thể đặt các quy tắc kiểu theo cách khai báo dựa trên một thuộc tính của đối tượng và áp dụng các quy tắc đó trên toàn bộ tập dữ liệu. Bạn có thể trả về nil từ hàm kiểu tính năng, ví dụ như nếu bạn muốn một tập hợp con các tính năng vẫn không hiển thị.

Ví dụ: sử dụng GMSDatasetFeature.datasetAttributes để trả về giá trị của thuộc tính tập dữ liệu cho một đối tượng. Sau đó, bạn có thể tuỳ chỉnh kiểu của tính năng dựa trên các thuộc tính của tính năng đó.

Ví dụ này xác định giá trị của thuộc tính "highlightColor" đối với mỗi tính năng của tập dữ liệu để kiểm soát việc định kiểu:

Swift

layer.style = { feature in
    var attributeColor: String = feature.datasetAttributes["highlightColor"]
    // Conditionalize styling based on the value of the "highlightColor" attribute.
    ...
}

Objective-C

// Apply the style to a single dataset feature.
layer.style = ^(GMSDatasetFeature *feature) {
    NSString *attributeColor = feature.datasetAttributes[@"highlightColor"];
    // Conditionalize styling based on the value of the "highlightColor" attribute.
    ...
};

Xoá kiểu khỏi lớp

Để xoá kiểu khỏi một lớp, hãy đặt style thành null:

Swift

layer.style = nil

Objective-C

layer.style = nil;

Bạn cũng có thể trả về nil từ hàm kiểu tính năng, ví dụ: nếu bạn muốn một tập hợp con các tính năng vẫn không xuất hiện.