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

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

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

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

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

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

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

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

تحديد طبقات الميزات

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

إدارة طبقات الميزات

  1. في Google Cloud Console، انتقِل إلى "أنماط الخرائط"

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

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

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

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

لقطة شاشة تعرض
الجديد.

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

تتطلب هذه الخطوة ربط معرف الخريطة بنمط يتضمن ميزة واحدة أو أكثر تم تمكين الطبقات. للتحقّق من إعداد معرّف الخريطة بشكل صحيح في 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]];

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

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

Swift

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

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

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

يتطلب النمط المستند إلى البيانات للحدود إمكانات يتم تفعيلها في 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