मार्कर

पब्लिक फ़ाइनल क्लास Marker ऑब्जेक्ट
की जानकारी देता है

मैप की सतह पर किसी खास पॉइंट पर मौजूद आइकॉन. एक मार्कर आइकॉन को मैप की सतह के बजाय, डिवाइस की स्क्रीन पर ओरिएंटेशन में बनाया जाता है. इसका मतलब है कि मैप के घुमाव, झुकाने या ज़ूम करने की वजह से, यह ज़रूरी नहीं है कि इस ओरिएंटेशन में बदलाव हो.

मार्कर में ये प्रॉपर्टी होती हैं:

ऐल्फ़ा
मार्कर की ओपैसिटी को सेट करता है. डिफ़ॉल्ट वैल्यू 1.0 होती है.
एंकर
इमेज पर वह बिंदु जिसे मार्कर की LatLng स्थिति पर रखा जाएगा. यह डिफ़ॉल्ट रूप से इमेज के बाईं ओर और इमेज के निचले हिस्से में 50% होता है.
रैंक
मैप पर मार्कर की जगह के लिए LatLng वैल्यू. अगर आपको मार्कर की जगह बदलनी है, तो इस वैल्यू को किसी भी समय बदला जा सकता है.
टाइटल
वह टेक्स्ट स्ट्रिंग जो जानकारी विंडो में तब दिखती है, जब उपयोगकर्ता मार्कर पर टैप करता है. इस वैल्यू को कभी भी बदला जा सकता है.
स्निपेट
वह अतिरिक्त टेक्स्ट जो टाइटल के नीचे दिखाया गया है. इस वैल्यू को कभी भी बदला जा सकता है.
आइकॉन
एक बिट मैप जो मार्कर के लिए दिखाया जाता है. अगर इस आइकॉन को सेट नहीं किया जाता है, तो डिफ़ॉल्ट आइकॉन दिखता है. defaultMarker(float) का इस्तेमाल करके, डिफ़ॉल्ट आइकॉन को किसी और तरह से कलर किया जा सकता है.
ड्रैग स्टेटस
अगर आप उपयोगकर्ता को मार्कर खींचने की अनुमति देना चाहते हैं, तो इस प्रॉपर्टी को true पर सेट करें. इस वैल्यू को कभी भी बदला जा सकता है. डिफ़ॉल्ट वैल्यू false है.
किसको दिखे
डिफ़ॉल्ट रूप से, मार्कर दिखाई देता है. मार्कर को नहीं दिखाने के लिए, इस प्रॉपर्टी को false पर सेट करें. इस वैल्यू को कभी भी बदला जा सकता है.
फ़्लैट या बिलबोर्ड
अगर मार्कर, मैप के सामने सपाट होता है, तो यह कैमरे के घुमाने और झुकाने के दौरान मैप पर अटक जाता है. हालांकि, इसका साइज़ GroundOverlay के उलट, कैमरे के ज़ूम करने के साइज़ के बराबर ही रहता है. अगर मार्कर कोई बिलबोर्ड है, तो उसे हमेशा कैमरे की तरफ़ करके बनाया जाएगा और कैमरे के साथ घुमाया जाएगा और झुकाया जाएगा. डिफ़ॉल्ट तौर पर, यह बिलबोर्ड (false) होता है
घुमाव
मार्कर के ऐंकर पॉइंट के आस-पास, मार्कर का घड़ी की दिशा में डिग्री में घुमाव. रोटेशन का ऐक्सिस, मार्कर के वर्टिकल पर होता है. 0 का घुमाव, मार्कर की डिफ़ॉल्ट जगह से मेल खाता है. जब मैप पर मार्कर सपाट होता है, तो डिफ़ॉल्ट जगह उत्तर दिशा में अलाइन होती है. साथ ही, रोटेशन इस तरह से होता है कि मार्कर हमेशा मैप पर सपाट रहता है. जब मार्कर कोई बिलबोर्ड होता है, तो डिफ़ॉल्ट जगह ऊपर की ओर होती है और रोटेशन इस तरह होता है कि मार्कर हमेशा कैमरे की तरफ़ होता है. डिफ़ॉल्ट वैल्यू 0 है.
zIndex
मार्कर के लिए ड्रॉ का क्रम. मार्कर, zIndex के हिसाब से बनाए जाते हैं. इसके ऊपर, सबसे ज़्यादा zIndex मार्कर को खींचा जाता है. हर मार्कर के लिए zIndex प्रॉपर्टी सेट करके, यह कंट्रोल किया जा सकता है कि किस टैप टारगेट को हिट करने की संभावना सबसे ज़्यादा है. डिफ़ॉल्ट वैल्यू 0 है.
टैग करें
मार्कर से जुड़ा Object. उदाहरण के लिए, Object में यह डेटा हो सकता है कि मार्कर क्या दिखाता है. यह एक अलग Map<Marker, Object> को स्टोर करने से ज़्यादा आसान है. दूसरे उदाहरण के तौर पर, किसी डेटा सेट के आईडी से जुड़ा String आईडी जोड़ा जा सकता है. Android के लिए Google Maps SDK टूल, इस प्रॉपर्टी को न तो पढ़ता है और न ही लिखता है.

इस क्लास के तरीके, Android यूज़र इंटरफ़ेस (यूआई) थ्रेड पर ही इस्तेमाल किए जाने चाहिए. अगर ऐसा नहीं है, तो रनटाइम के दौरान IllegalStateException को थ्रो किया जाएगा.

उदाहरण

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

डेवलपर गाइड

ज़्यादा जानकारी के लिए, मार्कर की डेवलपर गाइड पढ़ें.

नेस्ट की गई क्लास की खास जानकारी

@इंटरफ़ेस Marker.CollisionBehavior यह बताता है कि अन्य मार्कर या आधार मैप लेबल से टकराव होने पर, मार्कर पर क्या कार्रवाई की जाती है. 

सार्वजनिक तरीके से जुड़ी खास जानकारी

boolean
इसके बराबर है(अन्य ऑब्जेक्ट)
यह टेस्ट करता है कि यह Marker, दूसरे के बराबर है या नहीं.
float
getAlpha()
मार्कर का ऐल्फ़ा वर्शन लाता है.
String
getId()
इस मार्कर का आईडी हासिल करता है.
LatLng
getPosition()
मार्कर की जगह दिखाता है.
float
getRotation()
मार्कर का रोटेशन लाता है.
String
getSnippet()
मार्कर का स्निपेट हासिल करता है.
ऑब्जेक्ट
getTag()
मार्कर के लिए टैग लेता है.
String
getTitle()
मार्कर का टाइटल हासिल करता है.
float
getZIndex()
मार्कर का zIndex दिखाता है.
int
void
hideInfoWindow()
अगर जानकारी विंडो इस मार्कर से दिखाई जाती है, तो इसे छिपा देता है.
boolean
isDraggable()
मार्कर को खींचकर ले जाने की योग्यता हासिल करता है.
boolean
isFlat()
मार्कर की सपाट सेटिंग मिलती है.
boolean
isInfoWindowShown()
यह बताता है कि जानकारी विंडो अभी इस मार्कर के ऊपर दिखाई जा रही है या नहीं.
boolean
isVisible()
इस मार्कर की 'किसको दिखे' सेटिंग की जानकारी मिलती है.
void
हटाएं()
मैप से इस मार्कर को हटाता है.
void
setAlpha(फ़्लोट ऐल्फ़ा)
मार्कर का अल्फ़ा (अपारदर्शिता) सेट करता है.
void
setAnchor(फ़्लोट ऐंकरU, फ़्लोट ऐंकरV)
मार्कर के लिए ऐंकर पॉइंट सेट करता है.
void
setDraggable(बूलियन ड्रैग करने लायक)
मार्कर की खींचने की क्षमता सेट करता है.
void
setFlat(बूलियन फ़्लैट)
सेट करता है कि यह मार्कर मैप true पर सपाट होना चाहिए या कैमरे false के सामने किसी बिलबोर्ड को.
void
setIcon(BitmapDescriptor आइकॉन डिस्क्रिप्टर)
मार्कर के लिए आइकॉन सेट करता है.
void
setInfoWindowAnchor(फ़्लोट ऐंकरU, फ़्लोट ऐंकरV)
मार्कर इमेज का वह बिंदु तय करता है जहां जानकारी विंडो दिखने पर उसे ऐंकर किया जाता है.
void
setPosition(LatLng latlng)
मार्कर की जगह सेट करता है.
void
setRotation(फ़्लोट रोटेशन)
मार्कर के ऐंकर पॉइंट के बारे में घड़ी की दिशा में डिग्री में मार्कर का रोटेशन सेट करता है.
void
setSnippet(स्ट्रिंग स्निपेट)
मार्कर का स्निपेट सेट करता है.
void
setTag(ऑब्जेक्ट टैग)
मार्कर के लिए टैग सेट करता है.
void
setTitle(स्ट्रिंग का शीर्षक)
मार्कर का टाइटल सेट करता है.
void
setVisible(बूलियन विज़ुअल)
इस मार्कर की दृश्यता सेट करता है.
void
setZIndex(फ़्लोट zIndex)
मार्कर का zIndex सेट करता है.
void
showInfoWindow()
अगर यह मार्कर isVisible() है, तो मैप पर इस मार्कर की जानकारी विंडो दिखाता है.

इनहेरिट किए गए तरीके की खास जानकारी

सार्वजनिक तरीके

सार्वजनिक बूलियन इसके बराबर है (अन्य ऑब्जेक्ट)

यह टेस्ट करता है कि यह Marker, दूसरे के बराबर है या नहीं.

पैरामीटर
अन्य एक Object.
रिटर्न
  • अगर दोनों ऑब्जेक्ट एक ही ऑब्जेक्ट हैं, यानी कि यह == अन्य है, तो 'सही'.

सार्वजनिक फ़्लोट getAlpha ()

मार्कर का ऐल्फ़ा वर्शन लाता है.

रिटर्न
  • [0, 1] की रेंज में मार्कर का ऐल्फ़ा.

सार्वजनिक स्ट्रिंग getId ()

इस मार्कर का आईडी हासिल करता है. यह आईडी, मैप पर मौजूद सभी मार्कर से यूनीक होगा.

रिटर्न
  • इस मार्कर का आईडी.

सार्वजनिक LatLng getPosition ()

मार्कर की जगह दिखाता है.

रिटर्न
  • LatLng ऑब्जेक्ट, जो मार्कर की मौजूदा जगह की जानकारी देता है.

सार्वजनिक फ़्लोट getRotation ()

मार्कर का रोटेशन लाता है.

रिटर्न
  • डिफ़ॉल्ट स्थिति से डिग्री की घड़ी की दिशा में मार्कर का घुमाव.

सार्वजनिक स्ट्रिंग getSnippet ()

मार्कर का स्निपेट हासिल करता है.

रिटर्न
  • मार्कर के स्निपेट वाली स्ट्रिंग.

सार्वजनिक ऑब्जेक्ट getTag ()

मार्कर के लिए टैग लेता है.

रिटर्न
  • अगर किसी टैग को setTag के साथ सेट किया गया था, तो टैग. अगर कोई टैग सेट नहीं किया गया है, तो null.

Public स्ट्रिंग getTitle ()

मार्कर का टाइटल हासिल करता है.

रिटर्न
  • इस स्ट्रिंग में मार्कर का टाइटल होता है.

सार्वजनिक फ़्लोट getZIndex ()

मार्कर का zIndex दिखाता है.

रिटर्न
  • इस मार्कर का zIndex.

Public int hashCode ()

Public void hideInfoWindow ()

अगर जानकारी विंडो इस मार्कर से दिखाई जाती है, तो इसे छिपा देता है.

अगर यह मार्कर नहीं दिखता है, तो इस तरीके का कोई असर नहीं होता.

Public बूलियन isDraggable ()

मार्कर को खींचकर ले जाने की योग्यता हासिल करता है. जब किसी मार्कर को खींचकर छोड़ा जा सकता है, तो उसे उपयोगकर्ता उस जगह ले जा सकता है. ऐसा करने के लिए, उसे मार्कर को दबाकर रखना होता है.

रिटर्न
  • अगर मार्कर को खींचकर छोड़ा जा सकता है, तो true. ऐसा न होने पर, false दिखाता है.

सार्वजनिक बूलियन isFlat ()

मार्कर की सपाट सेटिंग मिलती है.

रिटर्न
  • true अगर मार्कर मैप पर सपाट हो; false अगर मार्कर कैमरे की तरफ़ होना चाहिए.

सार्वजनिक बूलियन isInfoWindowShown ()

यह बताता है कि जानकारी विंडो अभी इस मार्कर के ऊपर दिखाई जा रही है या नहीं. इससे इस बात पर कोई फ़र्क़ नहीं पड़ता कि जानकारी विंडो, स्क्रीन पर दिख रही है या नहीं.

सार्वजनिक बूलियन isVisible ()

इस मार्कर की 'किसको दिखे' सेटिंग की जानकारी मिलती है. ध्यान दें कि इससे यह पता नहीं चलता कि मार्कर स्क्रीन के व्यूपोर्ट में है या नहीं. यह बताता है कि अगर मार्कर स्क्रीन के व्यूपोर्ट में शामिल किया गया है, तो उसे बनाया जाएगा या नहीं.

रिटर्न
  • इस मार्कर की विज़िबिलिटी.

Public void हटाएं ()

मैप से इस मार्कर को हटाता है. मार्कर को हटाने के बाद, इसके सभी तरीकों का व्यवहार तय नहीं होता.

Public void setAlpha (फ़्लोट ऐल्फ़ा)

मार्कर का अल्फ़ा (अपारदर्शिता) सेट करता है. यह 0 से 1 के बीच की कोई वैल्यू होती है. यहां 0 का मतलब है कि मार्कर पूरी तरह से पारदर्शी है और 1 का मतलब है कि मार्कर पूरी तरह से ओपेक है.

पैरामीटर
ऐल्फ़ा

Public void setAnchor (फ़्लोट anchorU, फ्लोट anchorV)

मार्कर के लिए ऐंकर पॉइंट सेट करता है.

ऐंकर, आइकॉन इमेज में उस पॉइंट के बारे में बताता है जो पृथ्वी की सतह पर मार्कर की जगह से जुड़ा होता है.

ऐंकर पॉइंट [0.0, 1.0] x [0.0, 1.0] में होता है, जहां (0, 0) इमेज का सबसे ऊपर बायां कोना होता है और (1, 1) सबसे नीचे दायां कोना होता है. W x H इमेज में मौजूद ऐंकरिंग पॉइंट, (W + 1) x (H + 1) ग्रिड में सबसे नज़दीकी डिस्क्रीट ग्रिड पॉइंट होता है. इसे पूर्णांकन के तौर पर, स्केल करके निकाला जाता है. उदाहरण के लिए, किसी 4 x 2 इमेज में, ऐंकर पॉइंट (0.7, 0.6) का मतलब, उस ग्रिड पॉइंट (3, 1) पर होता है.

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

पैरामीटर
anchorU ऐंकर का u-कोऑर्डिनेट, जिसे इमेज की चौड़ाई ([0, 1] की रेंज में) के अनुपात के तौर पर दिखाया जाता है.
anchorV इमेज की ऊंचाई के अनुपात के तौर पर ऐंकर का v-कोऑर्डिनेट ([0, 1] की रेंज में).

Public void setDraggable (boolean draggable)

मार्कर की खींचने की क्षमता सेट करता है. जब किसी मार्कर को खींचकर छोड़ा जा सकता है, तो उसे उपयोगकर्ता उस जगह ले जा सकता है. ऐसा करने के लिए, उसे मार्कर को दबाकर रखना होता है.

पैरामीटर
खींचने और छोड़ने लायक एलिमेंट

Public void setFlat (बूलियन फ़्लैट)

सेट करता है कि यह मार्कर मैप true पर सपाट होना चाहिए या कैमरे false के सामने किसी बिलबोर्ड को.

पैरामीटर
कोई बदलाव नहीं

Public void setIcon (BitmapDescriptor iconDescriptor)

मार्कर के लिए आइकॉन सेट करता है.

पैरामीटर
iconDescriptor शून्य होने पर, डिफ़ॉल्ट मार्कर का इस्तेमाल किया जाता है.

Public void setInfoWindowAnchor (फ़्लोट anchorU, फ्लोट anchorV)

मार्कर इमेज का वह बिंदु तय करता है जहां जानकारी विंडो दिखने पर उसे ऐंकर किया जाता है. यह उसी निर्देशांक सिस्टम में बताया जाता है जिसमें ऐंकर इस्तेमाल किया जाता है. ज़्यादा जानकारी के लिए, setAnchor(float, float) पर जाएं. डिफ़ॉल्ट तौर पर, यह इमेज के सबसे ऊपर बीच में मौजूद होता है.

पैरामीटर
anchorU जानकारी विंडो ऐंकर का u-कोऑर्डिनेट, जिसे इमेज की चौड़ाई ([0, 1] की रेंज में) के अनुपात में दिखाया जाता है.
anchorV इमेज की ऊंचाई के अनुपात के तौर पर जानकारी विंडो ऐंकर का v-कोऑर्डिनेट ([0, 1] की रेंज में).

Public void setPosition (LatLng latlng)

मार्कर की जगह सेट करता है.

पैरामीटर
Latlng

Public void setRotation (फ़्लोट रोटेशन)

मार्कर के ऐंकर पॉइंट के बारे में घड़ी की दिशा में डिग्री में मार्कर का रोटेशन सेट करता है. रोटेशन का ऐक्सिस, मार्कर के वर्टिकल पर होता है. 0 का रोटेशन मार्कर की डिफ़ॉल्ट स्थिति से मेल खाता है.

पैरामीटर
रोटेशन

Public void setSnippet (स्ट्रिंग स्निपेट)

मार्कर का स्निपेट सेट करता है.

पैरामीटर
स्निपेट अगर यह शून्य है, तो स्निपेट मिटा दिया जाता है.

Public void setTag (ऑब्जेक्ट टैग)

मार्कर के लिए टैग सेट करता है.

इस प्रॉपर्टी का इस्तेमाल करके, किसी आर्बिट्रेरी Object को इस मार्कर से जोड़ा जा सकता है. उदाहरण के लिए, Object में यह डेटा हो सकता है कि मार्कर क्या दिखाता है. यह एक अलग Map<Marker, Object> को स्टोर करने से ज़्यादा आसान है. दूसरे उदाहरण के तौर पर, किसी डेटा सेट के आईडी से जुड़े String आईडी को जोड़ा जा सकता है. Android के लिए Google Maps SDK टूल, इस प्रॉपर्टी को न तो पढ़ता है और न ही लिखता है. यह आपकी ज़िम्मेदारी है कि जब आपको ज़रूरत न हो, तो setTag(null) को कॉल करके टैग को हटाएं. इससे ऐप्लिकेशन में मेमोरी लीक होने से बचा जा सकता है.

पैरामीटर
टैग अगर यह शून्य है, तो टैग को हटा दिया जाता है.

Public void setTitle (स्ट्रिंग का शीर्षक)

मार्कर का टाइटल सेट करता है.

पैरामीटर
टाइटल अगर यह शून्य है, तो टाइटल को मिटा दिया जाता है.

Public void setVisible (boolean visible)

इस मार्कर की दृश्यता सेट करता है. अगर इस नीति को false पर सेट किया जाता है और इस मार्कर के लिए फ़िलहाल एक जानकारी विंडो दिख रही है, तो इससे जानकारी विंडो छिप जाएगी.

पैरामीटर
दिख रहा है

Public void setZIndex (फ़्लोट zIndex)

मार्कर का zIndex सेट करता है.

पैरामीटर
zIndex

Public void showInfoWindow ()

अगर यह मार्कर isVisible() है, तो मैप पर इस मार्कर की जानकारी विंडो दिखाता है.

थ्रो
IllegalArgumentException अगर marker इस मैप पर न हो