איך מתחילים?

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

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

יצירת מזהה מפה

mapID הוא מזהה ייחודי שמייצג מופע בודד של מפת Google. אפשר ליצור מזהי מפות ולעדכן סגנון שמשויך למזהה מפה בכל שלב במסוף Google Cloud.

צילום מסך של Google Cloud
מסוף

יצירת סגנון מפה חדש

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

בחירת שכבות תצוגה

במסוף Google Cloud אתם יכולים לבחור אילו שכבות של תכונות יוצגו. הזה קובע אילו סוגי גבולות יופיעו במפה (לדוגמה, רשויות מוניציפאליות, וכו').

ניהול שכבות התכונות

  1. במסוף Google Cloud, עוברים אל 'סגנונות מפה'. דף

  2. אם מוצגת הנחיה, בוחרים פרויקט.

  3. בוחרים סגנון מפה.

  4. לוחצים על התפריט הנפתח שכבות של תכונות כדי להוסיף או להסיר שכבות.

  5. לוחצים על שמירה כדי לשמור את השינויים ולהפוך אותם לזמינים במפות.

צילום מסך שבו מוצגת

עדכון הקוד של אתחול המפה

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

Swift

// A map ID using a style with one or more feature layers enabled

let mapID = GMSMapID(identifier: "YOUR_MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

Objective-C

// A map ID using a style with one or more feature layers enabled

GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];

הוספת שכבות של ישויות למפה

כדי לקבל הפניה לשכבת פיצ'רים במפה, אפשר לקרוא mapView.featureLayer(of:) כשהמפה תופעל:

Swift

let layer = mapView.featureLayer(of: .locality)

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

בדיקת יכולות המפה

סגנון מבוסס-נתונים לגבולות דורש יכולות שמופעלות ומשויך למזהה מפה. מאחר שמזהי מפות כפופים ל אפשר לקרוא ל-mapView.mapCapabilities GMSMapView כדי לבדוק אם יכולת מסוימת (לדוגמה סגנון מבוסס-נתונים) זמין לפני שמפעילים אותו.

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

Swift

class SampleViewController: UIViewController {

  private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

  override func loadView() {
    self.view = mapView
    mapView.delegate = self
  }
}

extension SampleViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) {
    if (!mapCapabilities.contains(.dataDrivenStyling)) {
      // Data-driven styling is *not* available, add a fallback.
      // Existing feature layers are also unavailable.
    }
  }
}

Objective-C

@interface SampleViewController: UIViewController <GMSMapViewDelegate>
@end

@implementation SampleViewController
- (void)loadView {
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
  mapView.delegete = self;
  self.view = mapView;
}

- (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities {
  if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) {
    // Data-driven styling is *not* available, add a fallback.
    // Existing feature layers are also unavailable.
  }
}
@end