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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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