إضافة مجموعة بيانات إلى خريطة

اختيار النظام الأساسي: Android iOS JavaScript

توضّح لك هذه الصفحة كيفية إضافة مجموعة بيانات إلى خريطة وتطبيق أسلوب عليها.

طبِّق تنسيقًا على عنصر في مجموعة البيانات.

المتطلبات الأساسية

قبل المتابعة، يجب أن يكون لديك رقم تعريف الخريطة وتصميم الخريطة ورقم تعريف مجموعة البيانات.

ربط رقم تعريف مجموعة بيانات بنمط خريطة

لتصميم ميزات مجموعة بيانات، يمكنك تطبيق دالة تصميم على طبقة ميزات مجموعة البيانات في خريطة. يتم إنشاء طبقة عناصر مجموعة البيانات عند ربط مجموعة بيانات بأسلوب خريطة.

اتّبِع الخطوات التالية لربط مجموعة البيانات بنمط الخريطة الذي تستخدمه:

  1. في Google Cloud Console، انتقِل إلى صفحة مجموعات البيانات.
  2. انقر على اسم مجموعة البيانات. تظهر صفحة تفاصيل مجموعة البيانات.
  3. انقر على علامة التبويب معاينة.
  4. في قسم أنماط الخريطة المرتبطة، انقر على إضافة نمط خريطة.
    لقطة شاشة لزر "إضافة نمط الخريطة"
  5. ضَع علامة في مربّعات الاختيار الخاصة بأنماط الخريطة المطلوب ربطها، ثم انقر على حفظ.

تطبيق الأنماط على مجموعة البيانات

لتصميم عنصر من طبقة مجموعة البيانات، استخدِم إغلاق تصميم يقبل GMSDatasetFeature ويعرض GMSFeatureStyle لتحديد سمات التصميم. بعد ذلك، اضبط سمة style على عنصر إغلاق أسلوب يحتوي على منطق أسلوب.

يجب أن يكون إغلاق التصميم حتميًا وأن يعرض نتائج متسقة عند تطبيقه. إذا تم تغيير أيّ مواصفات تنسيق لأيّ ميزة، يجب تطبيق النمط مرة أخرى.

ضبط سمك الخط والتعبئة ونطاق النقطة

عند تصميم ميزة في دالة "معمل الأنماط"، يمكنك ضبط ما يلي:

  • لون الخطوط ودرجة التعتيم للحدود كما هو محدّد في فئة 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 من دالة نمط العناصر، على سبيل المثال إذا أردت أن تظل مجموعة فرعية من العناصر غير مرئية.