Làm theo các bước sau để thiết lập kiểu theo hướng dữ liệu cho các tập dữ liệu.
Nhận khoá API và bật API
Trước khi sử dụng tính năng định kiểu dựa trên dữ liệu cho các tập dữ liệu, bạn cần: Dự án trên đám mây có tài khoản thanh toán và cả SDK bản đồ dành cho iOS và API tập dữ liệu bản đồ bật. Để tìm hiểu thêm, hãy xem:
Tạo mã bản đồ
mapID là một giá trị nhận dạng duy nhất đại diện một đối tượng duy nhất 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 Google Cloud Console.
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 mục Quản lý bản đồ kiểu để tạo phong cách. Sau khi hoàn thành, hãy liên kết kiểu với mã bản đồ mới tạo.
Cập nhật mã khởi chạy bản đồ
Bước này yêu cầu liên kết ID bản đồ với một kiểu có một hoặc nhiều đối tượng lớp được bật. Để xác minh rằng mã bản đồ của bạn được thiết lập chính xác trong Cloud Console, xem cách định cấu hình bảng điều khiển này trong Maps Quản lý.
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]];
Kiểm tra các chức năng của bản đồ
Việc định kiểu theo hướng dữ liệu cho tập dữ liệu đòi hỏi các tính năng được bật trong
Google Cloud Console và được liên kết với một mã bản đồ. Bởi vì mã bản đồ phải tuân theo
thay đổi, bạn có thể gọi
mapView.mapCapabilities
trên
GMSMapView
để xác minh xem một chức năng nhất định (ví dụ: định kiểu theo hướng dữ liệu) có
có sẵn trước khi gọi đến số đó.
Bạn cũng có thể phát hiện các thay đổi về các khả 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 định kiểu theo hướng dữ liệu
các yêu cầu liên quan.
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