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

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

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

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

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

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

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

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

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

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

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

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