शुरू करना

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

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

मैप आईडी बनाएं

mapID एक यूनीक आइडेंटिफ़ायर होता है, जो Google मैप का एक इंस्टेंस. आपके पास मैप आईडी बनाने और स्टाइल अपडेट करने का विकल्प होता है को Google Cloud Console में किसी भी समय मैप आईडी से जोड़ा जा सकता है.

Google Cloud का स्क्रीनशॉट
कंसोल

मैप की नई स्टाइल बनाना

मैप की नई स्टाइल बनाने के लिए, मैप मैनेज करें स्टाइल बनाने के लिए स्टाइल. पूरा होने के बाद, स्टाइल को नए बनाए गए मैप आईडी से जोड़ें.

सुविधा परतें चुनें

Google Cloud Console में, यह चुना जा सकता है कि कौनसी सुविधा लेयर को दिखाना है. यह इसकी मदद से तय किया जाता है कि मैप पर किस तरह की सीमाएं दिखेंगी (उदाहरण के लिए, इलाके, राज्यों वगैरह के हिसाब से).

सुविधा परतें प्रबंधित करें

  1. Google Cloud Console में, मैप स्टाइल पर जाएं पेज

  2. अनुरोध किए जाने पर कोई प्रोजेक्ट चुनें.

  3. मैप की कोई स्टाइल चुनें.

  4. लेयर जोड़ने या हटाने के लिए, सुविधा लेयर ड्रॉप-डाउन पर क्लिक करें.

  5. अपने बदलावों को सेव करने और उन्हें अपने मैप पर उपलब्ध कराने के लिए, सेव करें पर क्लिक करें.

इस स्क्रीनशॉट में,
ड्रॉप-डाउन चुनें.

मैप शुरू करने के कोड को अपडेट करना

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

Swift

// A map ID using a style with one or more feature layers enabled

let mapID = GMSMapID(identifier: "YOUR_MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

Objective-C

// A map ID using a style with one or more feature layers enabled

GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];

मैप में सुविधा परतें जोड़ें

अपने मैप पर किसी फ़ीचर लेयर का रेफ़रंस पाने के लिए, मैप शुरू होने पर mapView.featureLayer(of:):

Swift

let layer = mapView.featureLayer(of: .locality)

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

मैप की क्षमताएं देखें

सीमाओं के लिए डेटा-ड्रिवन स्टाइलिंग के लिए, ऐसी क्षमताएं होनी चाहिए जो Google Cloud Console और मैप आईडी से जुड़ा होता है. क्योंकि मैप आईडी बदलो, आप mapView.mapCapabilities को इस नंबर पर कॉल कर सकते हैं: GMSMapView, ताकि यह पुष्टि की जा सके कि किसी खास क्षमता (जैसे कि डेटा-ड्रिवन स्टाइलिंग), तो इसे कॉल करने से पहले ही उपलब्ध हो जाती है.

आप सदस्यता लेकर भी मैप की क्षमताओं में बदलाव का पता लगा सकते हैं GMSViewDelegate. इस उदाहरण में बताया गया है कि प्रोटोकॉल का इस्तेमाल किया जा सकता है.

Swift

class SampleViewController: UIViewController {

  private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))

  override func loadView() {
    self.view = mapView
    mapView.delegate = self
  }
}

extension SampleViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) {
    if (!mapCapabilities.contains(.dataDrivenStyling)) {
      // Data-driven styling is *not* available, add a fallback.
      // Existing feature layers are also unavailable.
    }
  }
}

Objective-C

@interface SampleViewController: UIViewController <GMSMapViewDelegate>
@end

@implementation SampleViewController
- (void)loadView {
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
  mapView.delegete = self;
  self.view = mapView;
}

- (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities {
  if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) {
    // Data-driven styling is *not* available, add a fallback.
    // Existing feature layers are also unavailable.
  }
}
@end