इस पेज पर, मैप में डेटासेट जोड़ने और स्टाइल लागू करने का तरीका बताया गया है.
ज़रूरी शर्तें
आगे बढ़ने से पहले, आपके पास एक मैप आईडी, मैप स्टाइल, और एक डेटासेट आईडी होना चाहिए.
डेटासेट आईडी को मैप की स्टाइल से जोड़ना
डेटासेट की सुविधाओं को शैली देने के लिए, आप डेटासेट की सुविधा लेयर का इस्तेमाल किया जा सकता है. डेटासेट की सुविधा लेयर तब बनती है, जब डेटासेट को मैप की स्टाइल से जोड़ें.
अपने डेटासेट को इस्तेमाल की जा रही मैप स्टाइल से जोड़ने के लिए, यह तरीका अपनाएं:
- Google Cloud Console में, डेटासेट पेज पर जाएं.
- डेटासेट के नाम पर क्लिक करें. डेटासेट की जानकारी वाला पेज दिखेगा.
- झलक देखें टैब पर क्लिक करें.
- मिलती-जुलती मैप स्टाइल सेक्शन में,
मैप स्टाइल जोड़ें.
- मैप की शैली असोसिएट करने के लिए चेकबॉक्स पर क्लिक करें और फिर क्लिक करें सेव करें पर टैप करें.
डेटासेट में स्टाइल लागू करना
डेटासेट लेयर की किसी सुविधा को स्टाइल करने के लिए, ऐसे स्टाइल क्लोज़र का इस्तेमाल करें जो
स्टाइल तय करने के लिए, GMSDatasetFeature
और GMSFeatureStyle
दिखाता है
एट्रिब्यूट की वैल्यू सबमिट करें. इसके बाद स्टाइल प्रॉपर्टी को स्टाइलिंग क्लोज़र पर सेट करें, जिसमें
स्टाइलिंग लॉजिक.
स्टाइलिंग क्लोज़र, डिटरमिनिस्टिक होना चाहिए और लागू होने पर एक जैसे नतीजे दिखाना चाहिए. अगर किसी सुविधा की स्टाइलिंग की कोई शर्त, तो शैली को फिर से लागू करना होगा.
स्ट्रोक, फ़िल, और पॉइंट रेडियस सेट करना
स्टाइल फ़ैक्ट्री फ़ंक्शन में किसी सुविधा को स्टाइल करते समय, इन्हें सेट किया जा सकता है:
UIColor
के मुताबिक, बॉर्डर का स्ट्रोक का रंग और ओपैसिटी क्लास. डिफ़ॉल्ट वैल्यू पारदर्शी होती है (UIColor.clearColor
).स्क्रीन पिक्सल में बॉर्डर की स्ट्रोक की चौड़ाई. डिफ़ॉल्ट वैल्यू दो है.
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
भी लौटा सकते हैं, उदाहरण के लिए अगर आप
सुविधाओं का एक सबसेट छुपे रहना चाहते हैं.