Bắt đầu

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

Để sử dụng định kiểu dựa trên dữ liệu cho ranh giới, bạn phải tạo mã bản đồ. Tiếp theo, bạn phải tạo một kiểu bản đồ mới, chọn các lớp đối tượng ranh giới cần thiết và liên kết kiểu đó với mã bản đồ.

Tạo mã bản đồ

mapID là giá trị nhận dạng duy nhất đại diện cho một thực thể của Google Map. Bạn có thể tạo mã bản đồ và cập nhật kiểu liên kết với mã bản đồ bất cứ lúc nào trong bảng điều khiển Cloud.

Ảnh chụp màn hình bảng điều khiển Google Cloud

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 Quản lý kiểu bản đồ để tạo kiểu. Sau khi hoàn tất, hãy liên kết kiểu đó với mã bản đồ mới tạo.

Chọn lớp đối tượng

Trong bảng điều khiển Cloud, bạn có thể chọn các lớp đối tượng cần hiển thị. Điều này xác định những loại ranh giới xuất hiện trên bản đồ (ví dụ: địa phương, tiểu bang, v.v.).

Quản lý lớp đối tượng

  1. Trong bảng điều khiển Cloud, hãy chuyển đến trang Kiểu bản đồ page

  2. Chọn một dự án nếu được 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 cho thấy 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 đồ được liên kết với một kiểu có bật một hoặc nhiều lớp đối tượng. Để xác minh rằng bạn đã thiết lập mã bản đồ đúng cách trong bảng điều khiển Cloud, hãy xem cách mã bản đồ được định cấu hình trong phần Quản lý bản đồ.

Swift

// A map ID using a style with one or more feature layers enabled

let mapID = GMSMapID(identifier: "YOUR_MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

Objective-C

// A map ID using a style with one or more feature layers enabled

GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];

Thêm lớp đối tượng vào bản đồ

Để tham chiếu đến một lớp đối tượng trên bản đồ, hãy gọi mapView.featureLayer(of:) khi bản đồ khởi chạy:

Swift

let layer = mapView.featureLayer(of: .locality)

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

Kiểm tra các chức năng của bản đồ

Định kiểu dựa trên dữ liệu cho ranh giới yêu cầu các khả năng được bật trong bảng điều khiển Cloud và liên kết với mã bản đồ. Vì mã bản đồ có thể thay đổi, nên bạn có thể gọi mapView.mapCapabilities trên GMSMapView để xác minh xem một khả năng nhất định (ví dụ: Định kiểu dựa trên dữ liệu) có sẵn hay không trước khi gọi khả năng đó.

Bạn cũng có thể phát hiện các thay đổi về chức năng của bản đồ bằng cách đăng ký GMSViewDelegate. Ví dụ này cho biết cách sử dụng giao thức để kiểm tra các yêu cầu về định kiểu dựa trên dữ liệu.

Swift

class SampleViewController: UIViewController {

  private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

  override func loadView() {
    self.view = mapView
    mapView.delegate = self
  }
}

extension SampleViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) {
    if (!mapCapabilities.contains(.dataDrivenStyling)) {
      // Data-driven styling is *not* available, add a fallback.
      // Existing feature layers are also unavailable.
    }
  }
}

Objective-C

@interface SampleViewController: UIViewController <GMSMapViewDelegate>
@end

@implementation SampleViewController
- (void)loadView {
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
  mapView.delegete = self;
  self.view = mapView;
}

- (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities {
  if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) {
    // Data-driven styling is *not* available, add a fallback.
    // Existing feature layers are also unavailable.
  }
}
@end