בדף הזה מוסבר איך להוסיף מערך נתונים למפה ואיך להחיל סגנון.
דרישות מוקדמות
לפני שממשיכים, צריך לוודא שיש לכם מזהה מפה, סגנון מפה ומזהה מערך נתונים.
שיוך מזהה של מערך נתונים לסגנון מפה
כדי להחיל סגנון על התכונות של מערך נתונים, צריך להחיל פונקציית סגנון על שכבת התכונות של מערך הנתונים במפה. שכבת התכונות של מערך הנתונים נוצרת כשמשייכים מערך נתונים לסגנון מפה.
כדי לשייך את מערך הנתונים לסגנון המפה שבה אתם משתמשים, פועלים לפי השלבים הבאים:
- במסוף Google Cloud, עוברים לדף Datasets.
- לוחצים על השם של מערך הנתונים. יופיע הדף Dataset details.
- לוחצים על הכרטיסייה תצוגה מקדימה.
- בקטע Associated map styles (סגנונות מפה משויכים), לוחצים על ADD MAP STYLE (הוספת סגנון מפה).
- מסמנים את תיבות הסימון של סגנונות המפה שרוצים לשייך ולוחצים על שמירה.
החלת סגנונות על מערך הנתונים
כדי להחיל סגנון על תכונה בשכבת מערך הנתונים, משתמשים בסגירת סגנון שמקבלת 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
מפונקציית הסגנון של התכונה, למשל אם רוצים שקבוצת משנה של תכונות תישאר בלתי נראית.