الخطوات الأولى

اختيار النظام الأساسي: Android iOS JavaScript

لاستخدام التنسيق المستنِد إلى البيانات للحدود، عليك إنشاء رقم تعريف خريطة. بعد ذلك، عليك إنشاء نمط خريطة جديد واختيار طبقات عناصر الحدود المطلوبة، ثم ربط النمط بمعرّف الخريطة.

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

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

لقطة شاشة لواجهة Google Cloudconsole

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

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

اختيار طبقات العناصر

في Google Cloud Console، يمكنك اختيار طبقات العناصر التي تريد عرضها. يحدِّد ذلك أنواع الحدود التي تظهر على الخريطة (مثل المواقع المحلية والولايات وما إلى ذلك).

إدارة طبقات العناصر

  1. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة "أنماط الخرائط".

  2. اختَر مشروعًا إذا طُلب منك ذلك.

  3. اختَر نمط الخريطة.

  4. انقر على القائمة المنسدلة طبقات العناصر لإضافة طبقات أو إزالتها.

  5. انقر على حفظ لحفظ التغييرات وإتاحتها في خرائطك.

لقطة شاشة تعرِض قائمة Dropdown

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

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

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

إضافة طبقات عناصر إلى خريطة

للحصول على مرجع لطبقة عناصر على خريطتك، يمكنك استدعاء mapView.featureLayer(of:) عند بدء تشغيل الخريطة:

Swift

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

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

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

تتطلّب ميزة التصميم المستنِد إلى البيانات للحدود إمكانات مفعّلة في وحدة تحكّم Google Cloud ومرتبطة بمعرّف خريطة. بما أنّ أرقام تعريف الخرائط تخضع للتغيير، يمكنك استدعاء 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