البدء

اتبع هذه الخطوات لإعداد النمط المستند إلى البيانات لمجموعات البيانات.

الحصول على مفتاح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات

قبل استخدام الأنماط المستندة إلى البيانات لمجموعات البيانات، ستحتاج إلى: مشروع على السحابة الإلكترونية مع حساب فوترة، وتفعيل كل من حزمة تطوير البرامج (SDK) لخدمة "خرائط Google" لنظام التشغيل iOS وواجهة برمجة تطبيقات "مجموعات بيانات الخرائط". لمزيد من المعلومات، يُرجى الاطّلاع على:

إنشاء معرّف خريطة

mapID هو معرّف فريد يمثّل مثيلاً واحدًا من خريطة Google. يمكنك إنشاء أرقام تعريف للخرائط وتعديل نمط مرتبط بمعرّف خريطة في أي وقت في Google Cloud Console.

لقطة شاشة لوحدة تحكم
Google Cloud

إنشاء نمط خريطة جديد

لإنشاء نمط خريطة جديد، اتبع الإرشادات الواردة في إدارة أنماط الخرائط لإنشاء النمط. بعد الانتهاء، اربط النمط بمعرّف الخريطة الذي تم إنشاؤه حديثًا.

تحديث رمز إعداد الخريطة

تتطلب هذه الخطوة ربط معرِّف الخريطة بنمط تم تفعيل طبقة ميزات أو أكثر بها. للتحقّق من إعداد معرّف الخريطة بشكل صحيح في Cloud Console، راجِع كيفية ضبطه ضمن إدارة "خرائط Google".

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]];

الاطّلاع على إمكانيات الخريطة

يتطلب التصميم المستند إلى البيانات لمجموعات البيانات إمكانيات مفعَّلة في Google Cloud Console، ومرتبطة بمعرّف خريطة. وبما أنّ معرّفات الخرائط عرضة للتغيير، يمكنك استدعاء mapView.mapCapabilities على GMSMapView للتحقق مما إذا كانت هناك إمكانية معيّنة (مثل التصميم المستند إلى البيانات) متاحة قبل استدعائها.

يمكنك أيضًا رصد التغييرات في إمكانات الخريطة من خلال الاشتراك في GMSViewDelegate. يوضح هذا المثال كيفية استخدام البروتوكول للتحقق من متطلبات التصميم المستند إلى البيانات.

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

الخطوات التالية