این صفحه به شما نشان میدهد که چگونه یک مجموعه داده به نقشه اضافه کنید و استایلبندی را اعمال کنید.

پیشنیازها
قبل از ادامه، باید یک شناسه نقشه و سبک نقشه و یک شناسه مجموعه داده داشته باشید.
یک شناسه مجموعه داده را با یک سبک نقشه مرتبط کنید
برای استایلدهی به عوارض یک مجموعه داده، یک تابع استایل را به لایه عوارض مجموعه داده یک نقشه اعمال میکنید. لایه عوارض مجموعه داده زمانی ایجاد میشود که یک مجموعه داده را با یک استایل نقشه مرتبط کنید .
برای مرتبط کردن مجموعه دادههای خود با سبک نقشهای که استفاده میکنید، مراحل زیر را انجام دهید:
- در کنسول گوگل کلود، به صفحه مجموعه دادهها (Datasets) بروید .
- روی نام مجموعه داده کلیک کنید. صفحه جزئیات مجموعه داده ظاهر میشود.
- روی برگه پیشنمایش کلیک کنید.
- در بخش سبکهای نقشه مرتبط ، روی افزودن سبک نقشه کلیک کنید.

- روی کادر(های) مربوط به سبک(های) نقشه که میخواهید مرتبط شوند کلیک کنید و سپس روی ذخیره کلیک کنید.
اعمال سبکها به مجموعه دادهها
برای استایلدهی به یک ویژگی از لایه مجموعه داده، از یک closure استایلبندی استفاده کنید که یک GMSDatasetFeature را میپذیرد و یک GMSFeatureStyle برای تعریف ویژگیهای استایل برمیگرداند. سپس ویژگی style را روی یک closure استایلبندی تنظیم کنید که شامل منطق استایلبندی است.
لازم است که ویژگی بسته شدن استایل قطعی باشد و هنگام اعمال، نتایج ثابتی را برگرداند. اگر هر یک از مشخصات استایل هر ویژگی تغییر کند، استایل باید دوباره اعمال شود.
تنظیم خط دور، پر کردن و شعاع نقطه
هنگام استایلدهی به یک ویژگی در تابع style factory، میتوانید موارد زیر را تنظیم کنید:
رنگ خط دور و میزان شفافیت حاشیه که توسط کلاس
UIColorتعریف شده است. مقدار پیشفرض شفاف (UIColor.clearColor) است.عرض حاشیه بر حسب پیکسل صفحه نمایش. مقدار پیشفرض ۲ است.
رنگ و شفافیت (opacity) را همانطور که توسط کلاس
UIColorتعریف شده است، پر کنید. مقدار پیشفرض شفاف (UIColor.clearColor) است.شعاع نقطهای یک عارضه نقطهای بین ۰ تا ۱۲۸ پیکسل.
از قوانین سادهی استایل استفاده کنید
سادهترین راه برای استایلدهی به ویژگیها، تعریف ویژگیهای استایل ثابت مانند رنگ، شفافیت و عرض خط است. گزینههای استایل ویژگی را مستقیماً روی یک لایه ویژگی مجموعه داده اعمال کنید، یا از آنها همراه با استایلدهی سفارشی استفاده کنید.
سویفت
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 }
هدف-سی
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" هر ویژگی از یک مجموعه داده را برای کنترل استایلبندی تعیین میکند:
سویفت
layer.style = { feature in var attributeColor: String = feature.datasetAttributes["highlightColor"] // Conditionalize styling based on the value of the "highlightColor" attribute. ... }
هدف-سی
// 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 تنظیم کنید:
سویفت
layer.style = nil
هدف-سی
layer.style = nil;
همچنین میتوانید از تابع استایل ویژگی خود nil برگردانید، برای مثال اگر میخواهید زیرمجموعهای از ویژگیها نامرئی باقی بمانند.