בדף הזה מוסבר איך להוסיף מערך נתונים למפה ולהחיל עליו סגנון.
דרישות מוקדמות
כדי להמשיך, אתם צריכים שיהיו לכם מזהה מפה, סגנון מפה ומזהה מערך נתונים.
שיוך מזהה של מערך נתונים לסגנון מפה
כדי לעצב את התכונות של מערך נתונים, צריך להחיל פונקציית סגנון על שכבת התכונות של מערך הנתונים במפה. שכבת התכונות של מערך הנתונים נוצרת כאשר לשייך מערך נתונים לסגנון מפה.
כדי לשייך את מערך הנתונים לסגנון המפה שבחרתם: באמצעות:
- במסוף Google Cloud, עוברים לדף Datasets.
- לוחצים על השם של מערך הנתונים. הדף פרטי מערך הנתונים יופיע.
- לוחצים על הכרטיסייה תצוגה מקדימה.
- בקטע סגנונות מפה משויכים, לוחצים על
הוספת סגנון מפה.
- מסמנים את התיבות של סגנונות המפה שרוצים לשייך ולוחצים על שמירה.
החלת סגנונות על מערך הנתונים
כדי לעצב מאפיין של שכבת מערך הנתונים, צריך להשתמש בסגירת עיצוב שמקבלת
הפקודה GMSDatasetFeature
מחזירה את המחרוזת GMSFeatureStyle
כדי להגדיר את הסגנון.
. לאחר מכן מגדירים את מאפיין הסגנון לסגירה של סגנון,
לוגיקת עיצוב.
סגירת העיצוב חייבת להיות דטרמיניסטית והחזרה עקבית תוצאות כאשר מיישמים אותה. אם קיימים מפרטי עיצוב של תכונה כלשהי השתנה, צריך להחיל את הסגנון שוב.
הגדרת קו חוצה, מילוי ורדיוס נקודה
כשמעצבים תכונה בפונקציונליות של יצרן הסגנון, אפשר להגדיר את הפרטים הבאים:
צבע הקו ושקיפותו של הגבול, כפי שמוגדרים בכיתה
UIColor
. ערך ברירת המחדל הוא שקוף (UIColor.clearColor
).רוחב הקו של הגבול בפיקסלים במסך. ערך ברירת המחדל הוא 2.
צבע מילוי ושקיפות כפי שהוגדרו במחלקה
UIColor
. ערך ברירת המחדל הוא שקוף (UIColor.clearColor
).רדיוס הנקודה של תכונה של נקודה, בין 0 ל-128 פיקסלים.
שימוש בכללי סגנון פשוטים
הדרך הפשוטה ביותר לעצב תכונות היא להגדיר מאפייני סגנון קבועים, כמו צבע, אטימות ורוחב קו. יש להחיל אפשרויות של סגנון תכונה ישירות על של מערך הנתונים, או להשתמש בהן בשילוב עם סגנון מותאם אישית.
Swift
let mapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)) let layer = mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID") // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = { feature in let style = MutableFeatureStyle() style.fillColor = .green.withAlphaComponent(0.1) style.strokeColor = .green style.strokeWidth = 2.0 return style }
Objective-C
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude: 40.7 longitude: -74.0 zoom:12]]; GMSDatasetFeatureLayer *layer = [mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"]; // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = ^(GMSDatasetFeature *feature) { GMSMutableFeatureStyle *style = [GMSMutableFeatureStyle style]; style.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.1]; style.strokeColor = [UIColor greenColor]; style.strokeWidth = 2.0; return style; };
שימוש בכללי סגנון הצהרתי
אפשר להגדיר כללי סגנון באופן הצהרתי על סמך מאפיין של התכונה,
ולהחיל אותם על כל מערך הנתונים. אפשר להחזיר nil
מ
של תכונות מסוימות. לדוגמה, אם רוצים שקבוצת משנה של תכונות יישארו
בלתי נראה.
לדוגמה, אפשר להשתמש ב-GMSDatasetFeature.datasetAttributes
כדי להחזיר את הערך של מאפיין של מערך נתונים עבור מאפיין. לאחר מכן תוכלו להתאים אישית את העיצוב של התכונה על סמך המאפיינים שלה.
הדוגמה הזו קובעת את הערך של 'highlightColor' מאפיין של כל אחד תכונה במערך נתונים כדי לשלוט בסגנון:
Swift
layer.style = { feature in var attributeColor: String = feature.datasetAttributes["highlightColor"] // Conditionalize styling based on the value of the "highlightColor" attribute. ... }
Objective-C
// Apply the style to a single dataset feature. layer.style = ^(GMSDatasetFeature *feature) { NSString *attributeColor = feature.datasetAttributes[@"highlightColor"]; // Conditionalize styling based on the value of the "highlightColor" attribute. ... };
הסרת סגנון משכבה
כדי להסיר עיצוב משכבה, מגדירים את הערך של style
ל-null
:
Swift
layer.style = nil
Objective-C
layer.style = nil;
אפשר גם להחזיר את הערך nil
מפונקציית סגנון התכונה, לדוגמה אם
רוצה שתת-קבוצה של תכונות יישארו בלתי נראות.