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 phải 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 một hàm tạo kiểu cho lớp đối tượng tập dữ liệu của bản đồ. Lớp đối tượng của 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 đồ.
Hãy làm theo các bước sau để liên kết tập dữ liệu của bạn với kiểu bản đồ mà bạn đang sử dụng:
- Trong Google Cloud Console, hãy truy cập vào 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 cho(các) Kiểu bản đồ cần liên kết và sau đó 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 thành phần đóng tạo kiểu chấp nhận một
GMSDatasetFeature
rồi trả về GMSFeatureStyle
để xác định kiểu
. Sau đó, đặt thuộc tính kiểu thành một hàm đóng kiểu, chứa logic định kiểu.
Việc đóng kiểu là bắt buộc mang tính xác định và trả về tính nhất quán kết quả khi áp dụng. Nếu bất kỳ thông số kỹ thuật định kiểu nào của đối tượng nào đó đã thay đổi thì phải áp dụng lại kiểu.
Đặt bán kính 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 nhà máy kiểu, bạn có thể đặt:
Màu và độ mờ của nét vẽ 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 chữ của đường viền tính bằng pixel trên màn hình. Giá trị mặc định là 2.
Màu tô và độ mờ do lớp
UIColor
xác định. Mặc định có giá trị trong suốt (UIColor.clearColor
).Bán kính điểm của một đối tượng điểm nằ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 không đổi, như màu sắc, độ mờ và độ rộng đường. Áp dụng các tuỳ chọn kiểu đối tượng trực tiếp cho lớp đối tượng tập dữ liệu hoặc sử dụng các tuỳ chọn này cùng với 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 quy tắc kiểu được khai báo dựa trên thuộc tính của đối tượng,
rồi áp dụng chúng
cho toàn bộ tập dữ liệu. Bạn có thể trả lại nil
trong
hàm kiểu tính năng, ví dụ: nếu bạn muốn giữ lại một số tính năng
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
định kiểu của đối tượng dựa trên các thuộc tính của đối tượng đó.
Ví dụ này xác định giá trị của thuộc tính "highlightColor" của mỗi biến tính năng của tập dữ liệu để kiểm soát 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 tính năng tiếp tục ẩn.