شروع کنید

برای راه‌اندازی استایل مبتنی بر داده برای مجموعه‌های داده، این مراحل را دنبال کنید.

یک کلید API دریافت کنید و API ها را فعال کنید

قبل از استفاده از سبک‌های مبتنی بر داده برای مجموعه‌های داده، به این موارد نیاز دارید: پروژه Cloud با حساب صورت‌حساب، و هم Maps SDK برای iOS و هم Maps Datasets API فعال باشد. برای کسب اطلاعات بیشتر، نگاه کنید به:

یک شناسه نقشه ایجاد کنید

MapID یک شناسه منحصر به فرد است که یک نمونه از نقشه گوگل را نشان می دهد. می‌توانید شناسه‌های نقشه ایجاد کنید و سبک مرتبط با شناسه نقشه را در هر زمان در Google Cloud Console به‌روزرسانی کنید.

تصویری از کنسول Google Cloud

یک سبک نقشه جدید ایجاد کنید

برای ایجاد یک سبک نقشه جدید، دستورالعمل های موجود در Manage map styles را برای ایجاد سبک دنبال کنید. پس از تکمیل استایل را با شناسه نقشه جدید ایجاد شده مرتبط کنید.

کد اولیه نقشه خود را به روز کنید

این مرحله نیازمند شناسه نقشه است که با یک سبک با یک یا چند لایه ویژگی فعال باشد. برای تأیید اینکه شناسه نقشه شما به درستی در Cloud Console تنظیم شده است، نحوه پیکربندی آن را در مدیریت Maps مرور کنید.

سریع

// 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))

هدف-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]];

بررسی قابلیت های نقشه

سبک‌سازی مبتنی بر داده برای مجموعه‌های داده به قابلیت‌هایی نیاز دارد که در Google Cloud Console فعال شده و با شناسه نقشه مرتبط است. از آنجایی که شناسه‌های نقشه در معرض تغییر هستند، می‌توانید با mapView.mapCapabilities در GMSMapView تماس بگیرید تا بررسی کنید که آیا یک قابلیت خاص (مثلاً سبک‌سازی مبتنی بر داده‌ها) قبل از تماس وجود دارد یا خیر.

همچنین می‌توانید با عضویت در GMSViewDelegate تغییرات در قابلیت‌های نقشه را شناسایی کنید. این مثال نحوه استفاده از پروتکل را برای بررسی الزامات استایل مبتنی بر داده نشان می دهد.

سریع

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.
    }
  }
}

هدف-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

مراحل بعدی