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.
Đ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:
- Trong Google Cloud Console, hãy chuyển đến trang Tập dữ liệu.
- 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.
- Nhấp vào thẻ Xem trước.
- 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ấ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.