मार्कर कस्टमाइज़ेशन

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

पसंद के मुताबिक बनाए गए अलग-अलग ऑफ़र का स्क्रीनशॉट
मार्कर

मार्कर की पहचान करने के लिए, बेहतर मार्कर दो क्लास का इस्तेमाल करते हैं: GMSAdvancedMarker क्लास डिफ़ॉल्ट मार्कर देती है सुविधाएं, और GMSPinImageOptions में विकल्प शामिल हैं और बदलावों को पसंद के मुताबिक बनाने के लिए किया जा सकता है. यह पेज आपको मार्कर को कस्टमाइज़ करने का तरीका बताता है इन तरीकों से मदद पाएं:

  • बैकग्राउंड का रंग बदलना
  • बॉर्डर का रंग बदलें
  • ग्लिफ़ का रंग बदलें
  • ग्लिफ़ टेक्स्ट बदलें
  • आइकन व्यू प्रॉपर्टी के साथ कस्टम व्यू और ऐनिमेशन के साथ काम करें
बेहतर मार्कर के हिस्से
पहली इमेज: ऐडवांस मार्कर के हिस्से.

बैकग्राउंड का रंग बदलना

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 glyphColor = GMSPinImage(options: options)

advancedMarker.icon = glyphColor
advancedMarker.map = mapView

Objective-C

//...

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

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

advancedMarker.icon = glyphColor;
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;