הוספת מערך נתונים למפה

בחירת פלטפורמה: Android iOS JavaScript

בדף הזה מוסבר איך להוסיף קבוצת נתונים למפה ולהחיל סגנון.

החלת סגנון על מאפיין של מערך נתונים.

דרישות מוקדמות

לפני שממשיכים, צריך לוודא שיש לכם מזהה מפה, סגנון מפה ומזהה מערך נתונים.

שיוך מזהה של מערך נתונים לסגנון מפה

כדי לעצב את המאפיינים של מערך נתונים, צריך להחיל פונקציית סגנון על שכבת המאפיינים של מערך הנתונים במפה. שכבת התכונות של מערך הנתונים נוצרת כשמשייכים מערך נתונים לסגנון מפה.

בצעו את השלבים הבאים כדי לשייך את קבוצת הנתונים שלכם לסגנון המפה שבו אתם משתמשים:

  1. במסוף Google Cloud, נכנסים לדף Datasets.
  2. לוחצים על השם של קבוצת הנתונים. מופיע הדף Dataset details.
  3. לוחצים על הכרטיסייה תצוגה מקדימה.
  4. בקטע סגנונות מפה משויכים, לוחצים על הוספת סגנון מפה.
    הקטע "סגנונות המפה המשויכים" עם כפתור פלוס שכתוב עליו "הוספת סגנון מפה" משמאל.
  5. מסמנים את התיבות של סגנונות המפה שרוצים לשייך ולוחצים על SAVE.

החלת סגנונות על מערך הנתונים

כדי לעצב תכונה של שכבת קבוצת הנתונים, משתמשים בסגירת עיצוב שמקבלת GMSDatasetFeature ומחזירה GMSFeatureStyle כדי להגדיר מאפייני סגנון. לאחר מכן מגדירים את מאפיין הסגנון ל-styling closure, שמכיל לוגיקת סגנון.

ה-styling closure צריך להיות דטרמיניסטי ולהחזיר תוצאות עקביות כשמפעילים אותו. אם משנים את מפרט הסגנון של תכונה כלשהי, צריך להחיל את הסגנון מחדש.

הגדרת קו, מילוי ורדיוס נקודה

כשמעצבים מאפיין בפונקציית המפעל של הסגנון, אפשר להגדיר את:

  • צבע הקו והאטימות של הגבול, כפי שהוגדרו על ידי המחלקה UIColor. ערך ברירת המחדל הוא שקוף (UIColor.clearColor).

  • רוחב הקו של הגבול בפיקסלים במסך. ערך ברירת המחדל הוא 2.

  • צבע המילוי והאטימות כפי שהוגדרו על ידי המחלקה UIColor. ערך ברירת המחדל הוא שקוף (UIColor.clearColor).

  • רדיוס הנקודה של מאפיין נקודה בין 0 ל-128 פיקסלים.

שימוש בכללי סגנון פשוטים

הדרך הפשוטה ביותר לעצב תכונות היא להגדיר מאפייני סגנון קבועים, כמו צבע, שקיפות ורוחב קו. אפשר להחיל אפשרויות של סגנון תכונות ישירות על שכבה במפה של קבוצת נתונים, או להשתמש בהן בשילוב עם סגנון אישי.

Swift

let options = GMSMapViewOptions()
options.mapID = GMSMapID(identifier: "YOUR_MAP_ID")
options.camera = GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)
let mapView = GMSMapView(options: options)

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

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = [GMSCameraPosition cameraWithLatitude:40.7 longitude:-74.0 zoom:12];
options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

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 מהפונקציה של סגנון הישות, למשל אם רוצים שקבוצת משנה של ישויות תישאר בלתי נראית.