הפניה לכיתה של GMSFeatureLayer

חומר עזר ברמה של GMSFeatureLayer

סקירה כללית

מחלקה שמייצגת אוסף של כל התכונות של אותו GMSFeatureType, שניתן לשנות את הסגנון שלה אצל הלקוח.

לכל GMSFeatureType יהיה GMSFeatureLayer תואם.

פונקציות של חברי מועדון

(instancetype)- initWithFeatureType:
 יוצרים מופע של שכבת תכונות לצורך בדיקה.

נכסים

GMSFeatureTypefeatureType
 סוג התכונה שמשויכת לשכבה הזו.
בוליאניזמין
 המדיניות קובעת אם המודל GMSFeatureLayer מבוסס-הנתונים יהיה זמין.
GMSFeatureStyle *_Nullable(^)(T)סגנון
 בלוק עיצוב שיוצג על כל התכונות בשכבה הזו.

מסמכי תיעוד לגבי פונקציות של חברים

- (instancetype) initWithFeatureType: (GMSFeatureType) featureType

יוצרים מופע של שכבת תכונות לצורך בדיקה.

יש להשתמש בשיטה זו לבדיקות היחידה שלך בלבד. בסביבת ייצור, רק ה-SDK צריך ליצור מכונות GMSFeatureLayer.


תיעוד נכס

- (GMSFeatureType) featureType [read, assign]

סוג התכונה שמשויכת לשכבה הזו.

כל התכונות המשויכות לשכבה יהיו מהסוג הזה.

- (BOOL) זמין [read, assign]

המדיניות קובעת אם המודל GMSFeatureLayer מבוסס-הנתונים יהיה זמין.

כדי להשתמש בסגנון מבוסס-נתונים, צריך להוסיף את Metal Framework ומזהה מפה תקין ואת סוג התכונה. אם המדיניות 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
 }