مرجع فئة GMSFeatureLayer


نظرة عامة

فئة تمثّل مجموعة من كل ميزات GMSFeatureType نفسها، ويمكن إلغاء نمطها على الجهاز العميل.

سيكون لكل GMSFeatureType سمة GMSFeatureLayer مقابلة واحدة.

وظائف الأعضاء العامة

(instancetype)- initWithFeatureType:
 إنشاء مثيل طبقة عناصر للاختبار.

المواقع

نوع GMSFeatureTypefeatureType
 نوع العنصر المرتبط بهذه الطبقة.
قيمة منطقيةمتوفّرة
 تحدِّد هذه السياسة ما إذا كان GMSFeatureLayer المستند إلى البيانات متاحًا.
GMSFeatureStyle *_Nullable(^)(T)نمط
 كتلة التصميم التي سيتم تطبيقها على جميع العناصر في هذه الطبقة.

وثائق وظائف الأعضاء

- (instancetype) initWithFeatureType: (GMSFeatureType) featureType

إنشاء مثيل طبقة عناصر للاختبار.

يجب استخدام هذه الطريقة لاختبارات الوحدات فقط. في مرحلة الإنتاج، يجب إنشاء مثيلات GMSFeatureLayer من خلال حزمة تطوير البرامج (SDK) فقط.


وثائق العقارات

- (GMSFeatureType) featureType [read, assign]

نوع العنصر المرتبط بهذه الطبقة.

ستكون جميع العناصر المرتبطة بالطبقة من هذا النوع.

- (BOOL) متاحة [read, assign]

تحدِّد هذه السياسة ما إذا كان GMSFeatureLayer المستند إلى البيانات متاحًا.

يتطلب التصميم المستند إلى البيانات إطار عمل Metal، معرّف خريطة صالح، وأن يتم تطبيق نوع الميزة. وإذا كان NO، سيتم ضبط نمط GMSFeatureLayer على الوضع التلقائي ولا يتم بدء الأحداث.

- (GMSFeatureStyle* _Nullable(^ style)(T)) [read, write, assign]

كتلة التصميم التي سيتم تطبيقها على جميع العناصر في هذه الطبقة.

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

يجب أن تكون الدالة حتمية وأن تعرض نتائج متسقة عند تطبيقها على مربعات الخرائط. في حال تغيير أي مواصفات تصميم لأي ميزة، يجب ضبط style مرة أخرى. سيؤدي تغيير سلوك كتلة النمط بدون استدعاء دالة الإعداد style إلى حدوث سلوك غير محدّد، بما في ذلك عمليات عرض الخرائط القديمة و/أو المتقطّعة. اطّلِع على المثال الوارد في ما يلي:

 {.swift}
 var selectedPlaceIDs = Set<String>()
 var style = FeatureStyle(fill: .red, stroke: .clear, strokeWidth: 0)
 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }


 selectedPlaceIDs.insert("foo")

 style = FeatureStyle(fill: .clear, stroke: .blue, strokeWidth: 1.5)


 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }