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

پیشنیازها
قبلاز ادامه، باید شناسه نقشه و سبک نقشه، و شناسه مجموعه داده داشته باشید.
مرتبط کردن شناسه مجموعه داده با سبک نقشه
برای سبکبندی عارضههای مجموعه داده، تابع سبک را روی لایه عارضه مجموعه داده نقشه اعمال میکنید. لایه عارضه مجموعه داده زمانی ایجاد میشود که مجموعه دادهای را با سبک نقشه مرتبط کنید.
برای مرتبط کردن مجموعه دادهتان با سبک نقشهای که استفاده میکنید، مراحل زیر را دنبال کنید:
- در کنسول Google Cloud، به صفحه مجموعههای داده بروید.
- روی نام مجموعه داده کلیک کنید. صفحه جزئیات مجموعه داده ظاهر میشود.
- روی برگه پیشنمایش کلیک کنید.
- در بخش سبکهای نقشه مرتبط، روی
افزودن سبک نقشه کلیک کنید.
- روی چارگوش انتخاب «سبک(های) نقشه» برای مرتبط کردن کلیک کنید و سپس روی ذخیره کلیک کنید.
اعمال سبکها بر مجموعه داده
برای سبکبندی عارضه لایه مجموعه داده، از بستار سبکبندی استفاده کنید که
GMSDatasetFeature را میپذیرد و GMSFeatureStyle را برای تعریف مشخصههای سبک
برمیگرداند. سپس ویژگی سبک را روی یک بستار سبکبندی تنظیم کنید که حاوی منطق سبکبندی است.
بستار سبکبندی باید قطعی باشد و هنگام اعمال، نتایج ثابتی برگرداند. اگر هرکدام از مشخصات سبک هر ویژگی تغییر کند، باید سبک دوباره اعمال شود.
تنظیم کردن قلم، رنگآمیزی، و شعاع نقطه
هنگام سبکبندی عارضه در تابع کارخانه سبک، میتوانید موارد زیر را تنظیم کنید:
رنگ و ماتی حاشیه که توسط کلاس
UIColorتعریف شده است. مقدار پیشفرض شفاف است (UIColor.clearColor).عرض قلمضربهای حاشیه در پیکسلهای صفحهنمایش. مقدار پیشفرض ۲ است.
رنگ پرکننده و ماتی همانطور که توسط کلاس
UIColorتعریف شده است. مقدار پیشفرض شفاف است (UIColor.clearColor).شعاع نقطه از ویژگی نقطه بین ۰ تا ۱۲۸ پیکسل.
استفاده از قوانین سبک ساده
سادهترین راه برای سبکدهی به عارضهها، تعریف مشخصههای سبک ثابت مانند رنگ، شفافیت، و پهنای خط است. گزینههای سبک عارضه را مستقیماً در لایه عارضه مجموعه داده اعمال کنید یا آنها را همراه با سبک سفارشی استفاده کنید.
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 }
آبجکتیو-سی
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. ... }
آبجکتیو-سی
// 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
آبجکتیو-سی
layer.style = nil;
همچنین میتوانید nil را از تابع سبک عارضه برگردانید، برای مثال اگر میخواهید زیرمجموعهای از عارضهها نامرئی باقی بمانند.