মার্কার কাস্টমাইজ করা

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

বিভিন্ন কাস্টম মার্কারের
স্ক্রিনশট

উন্নত মার্কার, মার্কার সংজ্ঞায়িত করতে দুটি ক্লাস ব্যবহার করে: GMSAdvancedMarker ক্লাস ডিফল্ট মার্কার ক্ষমতা প্রদান করে এবং GMSPinImageOptions আরও কাস্টমাইজেশনের জন্য বিকল্প অন্তর্ভুক্ত করে। এই পৃষ্ঠা থেকে আপনি জানতে পারবেন যে কীভাবে নিম্নলিখিত উপায়ে মার্কার কাস্টমাইজ করতে হয়:

  • ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করুন
  • বর্ডারের রঙ পরিবর্তন করুন
  • গ্লিফের রঙ পরিবর্তন করুন
  • গ্লিফ টেক্সট পরিবর্তন করুন
  • iconView প্রপার্টির মাধ্যমে কাস্টম ভিউ ও অ্যানিমেশন সাপোর্ট করে
উন্নত মার্কারের অংশ
ছবি ১: উন্নত মার্কারের বিভিন্ন অংশ।

ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করুন

মার্কারের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে GMSPinImageOptions.backgroundColor বিকল্প ব্যবহার করুন।

Swift

//...

let options = GMSPinImageOptions()
options.backgroundColor = .blue

let pinImage = GMSPinImage(options: options)
advancedMarker.icon = pinImage

advancedMarker.map = mapView

Objective-C

//...

GMSPinImageOptions *options = [[GMSPinImageOptions alloc] init];
options.backgroundColor = [UIColor blueColor];

GMSPinImage *pin = [GMSPinImage pinImageWithOptions:options];
customTextMarker.icon = pin;

customTextMarker.map = mapView;

বর্ডারের রঙ পরিবর্তন করুন

মার্কারের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে GMSPinImageOptions.borderColor বিকল্প ব্যবহার করুন।

Swift

//...

let options = GMSPinImageOptions()
options.borderColor = .blue

let pinImage = GMSPinImage(options: options)
advancedMarker.icon = pinImage

advancedMarker.map = mapView

Objective-C

//...

GMSPinImageOptions *options = [[GMSPinImageOptions alloc] init];
options.backgroundColor = [UIColor blueColor];

GMSPinImage *pin = [GMSPinImage pinImageWithOptions:options];
advancedMarker.icon = pin;

advancedMarker.map = mapView;

গ্লিফের রঙ পরিবর্তন করুন

মার্কারের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে GMSPinImageGlyph.glyphColor ব্যবহার করুন।

Swift

//...

let options = GMSPinImageOptions()

let glyph = GMSPinImageGlyph(glyphColor: .yellow)
options.glyph = glyph

let pinImage = GMSPinImage(options: options)

advancedMarker.icon = pinImage
advancedMarker.map = mapView

Objective-C

//...

GMSPinImageOptions *options = [[GMSPinImageOptions alloc] init];

options.glyph = [[GMSPinImageGlyph alloc] initWithGlyphColor:[UIColor yellowColor]];
GMSPinImage *pinImage = [GMSPinImage pinImageWithOptions:options];

advancedMarker.icon = pinImage;
advancedMarker.map = mapView;

গ্লিফ টেক্সট পরিবর্তন করুন

মার্কারের গ্লিফ টেক্সট পরিবর্তন করতে GMSPinImageGlyph ব্যবহার করুন।

Swift

//...

let options = GMSPinImageOptions()

let glyph = GMSPinImageGlyph(text: "ABC", textColor: .white)
options.glyph = glyph

let pinImage = GMSPinImage(options: options)

advancedMarker.icon = pinImage
advancedMarker.map = mapView

Objective-C

//...

GMSPinImageOptions *options = [[GMSPinImageOptions alloc] init];

options.glyph = [[GMSPinImageGlyph alloc] initWithText:@"ABC" textColor:[UIColor whiteColor]];
GMSPinImage *pin = [GMSPinImage pinImageWithOptions:options];

customTextMarker.icon = pin;
customTextMarker.map = mapView;

iconView প্রপার্টির মাধ্যমে কাস্টম ভিউ ও অ্যানিমেশন সংক্রান্ত সহায়তা পান

GMSMarker-এর মতো, GMSAdvancedMarker-এও iconView-এর সাথে মার্কার ব্যবহার করা যায়। iconView প্রপার্টি, ফ্রেম ও সেন্টার ছাড়া UIView-এর সব অ্যানিমেট করা যায় এমন প্রপার্টির অ্যানিমেশন সাপোর্ট করে। একই ম্যাপে iconViews এবং icons সহ মার্কার দেখানোর সুবিধা এতে নেই।

Swift

//...

let advancedMarker = GMSAdvancedMarker(position: coordinate)
advancedMarker.iconView = customView()
advancedMarker.map = mapView

func customView() -> UIView {
// return your custom UIView.
}

Objective-C

//...

GMSAdvancedMarker *advancedMarker = [GMSAdvancedMarker markerWithPosition:kCoordinate];
advancedMarker.iconView = [self customView];
advancedMarker.map = self.mapView;

-   (UIView *)customView {
  // return custom view
}

লেআউট সংক্রান্ত সীমাবদ্ধতা

GMSAdvancedMarker সরাসরি iconView-এর জন্য লেআউট কনস্ট্রেন্ট সাপোর্ট করে না। তবে, আপনি iconView-এর মধ্যে ইউজার ইন্টারফেস এলিমেন্টের জন্য লেআউট সংক্রান্ত সীমাবদ্ধতা সেট করতে পারবেন। আপনার ভিউ তৈরি করার পরে, অবজেক্ট frame বা size মার্কারের কাছে পাস করতে হবে।

Swift

//do not set advancedMarker.iconView.translatesAutoresizingMaskIntoConstraints = false

let advancedMarker = GMSAdvancedMarker(position: coordinate)
let customView = customView()

//set frame
customView.frame = CGRect(0, 0, width, height)

advancedMarker.iconView = customView

Objective-C

//do not set advancedMarker.iconView.translatesAutoresizingMaskIntoConstraints = NO;

GMSAdvancedMarker *advancedMarker = [GMSAdvancedMarker markerWithPosition:kCoordinate];

CustomView *customView = [self customView];

//set frame
customView.frame = CGRectMake(0, 0, width, height);

advancedMarker.iconView = customView;