मैप में डेटासेट जोड़ना

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

इस पेज पर, मैप में डेटासेट जोड़ने और स्टाइल लागू करने का तरीका बताया गया है.

डेटासेट की सुविधा पर स्टाइल लागू करना.

ज़रूरी शर्तें

आगे बढ़ने से पहले, आपके पास मैप आईडी, मैप स्टाइल, और डेटासेट आईडी होना चाहिए.

किसी डेटासेट आईडी को मैप स्टाइल से जोड़ना

किसी डेटासेट की सुविधाओं को स्टाइल करने के लिए, मैप की डेटासेट की मैप लेयर पर स्टाइल फ़ंक्शन लागू करें. डेटासेट की मैप लेयर तब बनती है, जब किसी डेटासेट को मैप स्टाइल से जोड़ा जाता है.

अपने डेटासेट को इस्तेमाल की जा रही मैप स्टाइल से जोड़ने के लिए, यह तरीका अपनाएं:

  1. Google Cloud console में, डेटासेट पेज पर जाएं.
  2. डेटासेट के नाम पर क्लिक करें. इसके बाद, डेटासेट की जानकारी वाला पेज दिखेगा.
  3. झलक देखें टैब पर क्लिक करें.
  4. मैप की जोड़ी गई स्टाइल सेक्शन में, मैप स्टाइल जोड़ें पर क्लिक करें.
    'मैप के जुड़े हुए स्टाइल' सेक्शन में, दाईं ओर प्लस बटन के साथ 'मैप का स्टाइल जोड़ें' विकल्प दिखता है.
  5. जोड़ने के लिए, मैप स्टाइल के चेकबॉक्स पर क्लिक करें. इसके बाद, सेव करें पर क्लिक करें.

डेटासेट पर स्टाइल लागू करना

डेटासेट लेयर की किसी सुविधा को स्टाइल करने के लिए, स्टाइलिंग क्लोज़र का इस्तेमाल करें. यह क्लोज़र, GMSDatasetFeature को स्वीकार करता है और स्टाइल एट्रिब्यूट तय करने के लिए, GMSFeatureStyle दिखाता है. इसके बाद, स्टाइल प्रॉपर्टी को स्टाइलिंग क्लोज़र पर सेट करें. इसमें स्टाइलिंग लॉजिक शामिल होता है.

स्टाइलिंग क्लोज़र को डिटरमिनिस्टिक होना चाहिए. साथ ही, लागू होने पर उसे एक जैसे नतीजे देने चाहिए. अगर किसी सुविधा की स्टाइलिंग से जुड़ी खास बातों में कोई बदलाव किया जाता है, तो स्टाइल को फिर से लागू करना होगा.

स्ट्रोक, फ़िल, और पॉइंट रेडियस सेट करना

स्टाइल फ़ैक्ट्री फ़ंक्शन में किसी सुविधा को स्टाइल करते समय, ये सेट किए जा सकते हैं:

  • बॉर्डर का स्ट्रोक कलर और ओपैसिटी, UIColor क्लास के हिसाब से तय होती है. डिफ़ॉल्ट वैल्यू पारदर्शी (UIColor.clearColor) होती है.

  • स्क्रीन पिक्सल में बॉर्डर की स्ट्रोक की चौड़ाई. डिफ़ॉल्ट वैल्यू 2 होती है.

  • रंग और अपारदर्शिता, जैसा कि UIColor क्लास में बताया गया है. डिफ़ॉल्ट वैल्यू, पारदर्शी (UIColor.clearColor) होती है.

  • पॉइंट की सुविधा का पॉइंट रेडियस, 0 से 128 पिक्सल के बीच होना चाहिए.

स्टाइल के आसान नियमों का इस्तेमाल करना

सुविधाओं को स्टाइल करने का सबसे आसान तरीका है कि रंग, ओपैसिटी, और लाइन की चौड़ाई जैसे स्टाइल एट्रिब्यूट तय किए जाएं. फ़ीचर स्टाइल के विकल्पों को सीधे डेटासेट की मैप लेयर पर लागू करें या उन्हें कस्टम स्टाइल के साथ इस्तेमाल करें.

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
}

Objective-C

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.
    ...
}

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 को दिखाने का विकल्प भी होता है. उदाहरण के लिए, अगर आपको सुविधाओं के सबसेट को छिपाकर रखना है.