শুরু হচ্ছে

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

সীমানার জন্য ডেটা-চালিত স্টাইলিং ব্যবহার করতে হলে আপনাকে একটি ম্যাপ আইডি তৈরি করতে হবে। এরপর, আপনাকে একটি নতুন ম্যাপ স্টাইল তৈরি করতে হবে, প্রয়োজনীয় সীমানা ফিচার লেয়ারগুলো নির্বাচন করতে হবে এবং স্টাইলটিকে আপনার ম্যাপ আইডির সাথে যুক্ত করতে হবে।

একটি মানচিত্র আইডি তৈরি করুন

ম্যাপআইডি হলো একটি অনন্য শনাক্তকারী যা একটি গুগল ম্যাপের একক দৃষ্টান্তকে প্রতিনিধিত্ব করে। আপনি গুগল ক্লাউড কনসোলে যেকোনো সময় ম্যাপ আইডি তৈরি করতে এবং এর সাথে যুক্ত স্টাইল আপডেট করতে পারেন।

গুগল ক্লাউড কনসোলের একটি স্ক্রিনশট

একটি নতুন মানচিত্র শৈলী তৈরি করুন

নতুন ম্যাপ স্টাইল তৈরি করতে, 'ম্যানেজ ম্যাপ স্টাইলস' -এর নির্দেশাবলী অনুসরণ করুন। সম্পন্ন হলে, স্টাইলটিকে নতুন তৈরি করা ম্যাপ আইডির সাথে যুক্ত করুন।

বৈশিষ্ট্য স্তর নির্বাচন করুন

গুগল ক্লাউড কনসোলে আপনি কোন ফিচার লেয়ারগুলো প্রদর্শন করবেন তা নির্বাচন করতে পারেন। এর মাধ্যমে মানচিত্রে কোন ধরনের সীমানাগুলো দেখা যাবে তা নির্ধারিত হয় (যেমন—এলাকা, রাজ্য ইত্যাদি)।

ফিচার লেয়ারগুলি পরিচালনা করুন

  1. Google Cloud কনসোলে, Map Styles পৃষ্ঠায় যান

  2. অনুরোধ করা হলে একটি প্রকল্প নির্বাচন করুন।

  3. একটি মানচিত্রের শৈলী নির্বাচন করুন।

  4. লেয়ার যোগ করতে বা সরাতে ফিচার লেয়ার ড্রপ-ডাউনে ক্লিক করুন।

  5. আপনার পরিবর্তনগুলি সংরক্ষণ করতে এবং সেগুলিকে আপনার মানচিত্রে উপলব্ধ করতে সংরক্ষণ করুন -এ ক্লিক করুন।

একটি স্ক্রিনশট যেখানে ড্রপ-ডাউনটি দেখানো হচ্ছে।

আপনার ম্যাপ ইনিশিয়ালাইজেশন কোড আপডেট করুন

এই ধাপে, এক বা একাধিক ফিচার লেয়ার সক্রিয় থাকা একটি স্টাইলের সাথে একটি ম্যাপ আইডি যুক্ত করতে হবে। ক্লাউড কনসোলে আপনার ম্যাপ আইডি সঠিকভাবে সেট আপ করা হয়েছে কিনা তা যাচাই করতে, 'ম্যাপস ম্যানেজমেন্ট'-এর অধীনে এটি কীভাবে কনফিগার করা আছে তা পর্যালোচনা করুন।

সুইফট

// 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))

উদ্দেশ্য-সি

// 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:) কল করুন:

সুইফট

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

উদ্দেশ্য-সি

GMSFeatureLayer *layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];

মানচিত্রের সক্ষমতা পরীক্ষা করুন

সীমানার জন্য ডেটা-চালিত স্টাইলিং ব্যবহার করতে এমন কিছু সক্ষমতার প্রয়োজন হয়, যা গুগল ক্লাউড কনসোলে সক্রিয় করা থাকে এবং একটি ম্যাপ আইডির সাথে যুক্ত থাকে। যেহেতু ম্যাপ আইডি পরিবর্তন হতে পারে, তাই কোনো নির্দিষ্ট সক্ষমতা (যেমন ডেটা-চালিত স্টাইলিং) কল করার আগে, সেটি উপলব্ধ আছে কিনা তা যাচাই করার জন্য আপনি একটি GMSMapView এর উপর mapView.mapCapabilities কল করতে পারেন।

আপনি GMSViewDelegate এ সাবস্ক্রাইব করার মাধ্যমেও ম্যাপের সক্ষমতার পরিবর্তন শনাক্ত করতে পারেন। এই উদাহরণটি দেখায় কিভাবে ডেটা-চালিত স্টাইলিংয়ের প্রয়োজনীয়তা পরীক্ষা করার জন্য এই প্রোটোকলটি ব্যবহার করতে হয়।

সুইফট

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

উদ্দেশ্য-সি

@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