शुरू करना

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

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

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

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

Google Cloud Console का स्क्रीनशॉट

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

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

मैप लेयर चुनना

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

मैप लेयर मैनेज करना

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

  2. अगर कहा जाए, तो कोई प्रोजेक्ट चुनें.

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

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

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

ड्रॉप-डाउन दिखाने वाला स्क्रीनशॉट.

मैप को शुरू करने के लिए इस्तेमाल होने वाले कोड को अपडेट करना

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

Swift

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

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

Objective-C

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

GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7];
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = camera;
options.mapID = mapID;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

मैप में मैप लेयर जोड़ना

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

Swift

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

Objective-C

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

मैप की सुविधाओं के बारे में जानना

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

GMSViewDelegate की सदस्यता लेकर, मैप की सुविधाओं में होने वाले बदलावों का भी पता लगाया जा सकता है. इस उदाहरण में, डेटा-ड्रिवन स्टाइलिंग की ज़रूरी शर्तों की जांच करने के लिए, प्रोटोकॉल का इस्तेमाल करने का तरीका बताया गया है.

Swift

class SampleViewController: UIViewController {

  private lazy var mapView: GMSMapView = {
    let options = GMSMapViewOptions()
    options.mapID = GMSMapID(identifier: "YOUR_MAP_ID")
    options.camera = GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7)
    return GMSMapView(options: options)
  }()

  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 {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = camera;
  options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  mapView.delegate = 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