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