শুরু করা

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

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

ম্যাপ আইডি তৈরি করা

mapID হল একটি অনন্য শনাক্তকারী যা Google Map-এর একটি ইনস্ট্যান্সকে দেখায়। আপনি Google Cloud কনসোলে যেকোনও সময় ম্যাপ আইডি তৈরি করতে এবং ম্যাপ আইডির সাথে যুক্ত স্টাইল আপডেট করতে পারবেন।

Google Cloud Console-এর
স্ক্রিনশট

নতুন ম্যাপ স্টাইল তৈরি করুন

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

ফিচার লেয়ার বেছে নিন

Google Cloud কনসোলে আপনি কোন ফিচার লেয়ার দেখাতে চান তা বেছে নিতে পারবেন। এটি নির্ধারণ করে যে ম্যাপে কোন ধরনের সীমানা দেখানো হবে (যেমন, এলাকা, রাজ্য ইত্যাদি)।

ফিচার লেয়ার ম্যানেজ করা

  1. Google Cloud কনসোলে, ম্যাপ স্টাইল পৃষ্ঠায় যান

  2. প্রম্পট করা হলে, কোনও প্রোজেক্ট বেছে নিন।

  3. ম্যাপের স্টাইল বেছে নিন।

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

  5. আপনার করা পরিবর্তন সেভ করতে এবং আপনার ম্যাপে সেগুলি উপলভ্য করতে সেভ করুন বিকল্পে ক্লিক করুন।

ড্রপ-ডাউন দেখানো
স্ক্রিনশট।

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

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

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 কনসোলে চালু করা আছে এবং একটি ম্যাপ আইডির সাথে যুক্ত। ম্যাপ আইডি পরিবর্তন হতে পারে বলে, আপনি 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