कंट्रोल और हाथ के जेस्चर

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

Android के लिए Maps SDK का इस्तेमाल करके, यह तय किया जा सकता है कि उपयोगकर्ता आपके मैप के साथ किस तरह इंटरैक्ट कर सकते हैं. इसके लिए, आपको यह तय करना होगा कि मैप पर पहले से मौजूद यूज़र इंटरफ़ेस (यूआई) के कौनसे कॉम्पोनेंट दिखें और किन जेस्चर की अनुमति दी जाए.

कोड सैंपल

GitHub पर मौजूद ApiDemos रिपॉज़िटरी में, एक ऐसा सैंपल है जो कंट्रोल और जेस्चर के विकल्पों के इस्तेमाल के बारे में बताता है:

उपयोगकर्ता के कम से कम इंटरैक्शन के लिए लाइट मोड

अगर आपको कम से कम उपयोगकर्ता इंटरैक्शन वाला लाइट-वेट मैप चाहिए, तो लाइट-मोड मैप का इस्तेमाल करें. लाइट मोड, किसी तय की गई जगह और ज़ूम करने के लेवल पर मैप की बिट मैप इमेज दिखाता है. लाइट मोड में, उपयोगकर्ता मैप को पैन या ज़ूम नहीं कर सकते. साथ ही, जेस्चर काम नहीं करते. ज़्यादा जानकारी के लिए, लाइट मोड की गाइड देखें.

यूज़र इंटरफ़ेस (यूआई) कंट्रोल

Maps API में पहले से मौजूद यूज़र इंटरफ़ेस (यूआई) कंट्रोल होते हैं. ये आपके Android फ़ोन पर Google Maps ऐप्लिकेशन में मौजूद कंट्रोल जैसे ही होते हैं. UiSettings क्लास का इस्तेमाल करके, इन कंट्रोल के दिखने की सेटिंग को टॉगल किया जा सकता है. इस क्लास को GoogleMap.getUiSettings तरीके का इस्तेमाल करके, GoogleMap से हासिल किया जा सकता है. इस क्लास में किए गए बदलाव, मैप पर तुरंत दिखते हैं. इन सुविधाओं का उदाहरण देखने के लिए, सैंपल ऐप्लिकेशन में यूज़र इंटरफ़ेस (यूआई) सेटिंग की डेमो गतिविधि देखें.

मैप बनाते समय, इनमें से ज़्यादातर विकल्पों को कॉन्फ़िगर भी किया जा सकता है. इसके लिए, एक्सएमएल एट्रिब्यूट या GoogleMapOptions क्लास का इस्तेमाल करें. ज़्यादा जानकारी के लिए, शुरुआती स्थिति को कॉन्फ़िगर करना लेख पढ़ें.

हर यूज़र इंटरफ़ेस (यूआई) कंट्रोल की पोज़िशन, मैप के किनारे के हिसाब से पहले से तय होती है. GoogleMap ऑब्जेक्ट में पैडिंग जोड़कर, कंट्रोल को सबसे ऊपर, सबसे नीचे, बाईं या दाईं ओर से हटाया जा सकता है.

ज़ूम कंट्रोल

Maps API में, पहले से मौजूद ज़ूम कंट्रोल होते हैं. ये मैप के सबसे नीचे दाएं कोने में दिखते हैं. ये डिफ़ॉल्ट रूप से बंद होते हैं. हालांकि, UiSettings.setZoomControlsEnabled(true) को कॉल करके इन्हें चालू किया जा सकता है.

ज़ूम कंट्रोल

कंपास

Maps API, कंपास ग्राफ़िक उपलब्ध कराता है. यह कुछ मामलों में, मैप के सबसे ऊपर बाएं कोने में दिखता है. कंपास सिर्फ़ तब दिखेगा, जब कैमरे को इस तरह से ओरिएंट किया गया हो कि उसकी बेयरिंग या झुकाव शून्य न हो. जब उपयोगकर्ता कंपास पर क्लिक करता है, तो कैमरा ऐनिमेट होकर वापस उस पोज़िशन पर आ जाता है जहां बेयरिंग और झुकाव शून्य (डिफ़ॉल्ट ओरिएंटेशन) होता है. इसके कुछ समय बाद, कंपास गायब हो जाता है. UiSettings.setCompassEnabled(boolean) पर कॉल करके, कंपास दिखने की सुविधा को पूरी तरह से बंद किया जा सकता है. हालांकि, कंपास को हमेशा दिखाने के लिए मजबूर नहीं किया जा सकता.

कंपास

मेरी लोकेशन बटन

'मेरी जगह की जानकारी' बटन, स्क्रीन के सबसे ऊपर दाएं कोने में सिर्फ़ तब दिखता है, जब 'मेरी जगह की जानकारी' लेयर चालू हो. ज़्यादा जानकारी के लिए, जगह की जानकारी के डेटा से जुड़ी गाइड देखें.

मेरी लोकेशन बटन

लेवल पिकर

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

GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean) को कॉल करके, लेवल पिकर कंट्रोल को बंद या चालू किया जा सकता है.

यह तब काम आता है, जब आपको डिफ़ॉल्ट लेवल पिकर को अपने लेवल पिकर से बदलना हो.

लेवल पिकर

मैप टूलबार

जब कोई उपयोगकर्ता किसी मार्कर पर टैप करता है, तो डिफ़ॉल्ट रूप से मैप पर सबसे नीचे दाईं ओर एक टूलबार दिखता है. टूलबार की मदद से, उपयोगकर्ता Google Maps मोबाइल ऐप्लिकेशन को तुरंत ऐक्सेस कर सकता है.

UiSettings.setMapToolbarEnabled(boolean) को कॉल करके, टूलबार को चालू और बंद किया जा सकता है.

लाइट-मोड मैप में, टूलबार उपयोगकर्ता की कार्रवाइयों से अलग बना रहता है. पूरी तरह से इंटरैक्टिव मैप में, जब उपयोगकर्ता किसी मार्कर पर टैप करता है, तो टूलबार स्लाइड होकर अंदर आता है. साथ ही, जब मार्कर फ़ोकस में नहीं रहता, तो टूलबार स्लाइड होकर बाहर चला जाता है.

टूलबार में ऐसे आइकॉन दिखते हैं जो Google Maps मोबाइल ऐप्लिकेशन में मैप व्यू या रास्ते की जानकारी के अनुरोध को ऐक्सेस करने की सुविधा देते हैं. जब कोई उपयोगकर्ता टूलबार में मौजूद किसी आइकॉन पर टैप करता है, तो एपीआई एक इंटेंट बनाता है, ताकि Google Maps मोबाइल ऐप्लिकेशन में उससे जुड़ी गतिविधि को लॉन्च किया जा सके.

मैप टूलबार

ऊपर दिए गए स्क्रीनशॉट में, टूलबार मैप के सबसे नीचे दाईं ओर दिख रहा है. मैप पर इंटेंट के शून्य, एक या दोनों आइकॉन दिखेंगे. यह मैप के कॉन्टेंट पर निर्भर करता है. साथ ही, यह इस बात पर भी निर्भर करता है कि Google Maps मोबाइल ऐप्लिकेशन, इंटेंट के नतीजे के साथ काम करता है या नहीं.

मैप जेस्चर

Android के लिए Maps SDK की मदद से बनाए गए मैप में, Google Maps ऐप्लिकेशन की तरह ही जेस्चर इस्तेमाल किए जा सकते हैं. हालांकि, कुछ मामलों में आपको मैप की स्थिति को बनाए रखने के लिए, कुछ जेस्चर बंद करने पड़ सकते हैं. ज़ूम, पैन, टिल्ट, और बेयरिंग को प्रोग्राम के हिसाब से भी सेट किया जा सकता है. ज़्यादा जानकारी के लिए, कैमरा और व्यू देखें. ध्यान दें कि जेस्चर बंद करने से, प्रोग्राम के हिसाब से कैमरे की पोज़िशन बदलने की सुविधा पर कोई असर नहीं पड़ता.

यूज़र इंटरफ़ेस (यूआई) कंट्रोल की तरह ही, जेस्चर को चालू/बंद किया जा सकता है. इसके लिए, UiSettings क्लास का इस्तेमाल करें. इसे GoogleMap.getUiSettings को कॉल करके, GoogleMap से हासिल किया जा सकता है. इस क्लास में किए गए बदलाव, मैप पर तुरंत दिखते हैं. इन सुविधाओं का उदाहरण देखने के लिए, सैंपल ऐप्लिकेशन में यूज़र इंटरफ़ेस (यूआई) सेटिंग की डेमो गतिविधि देखें. इसे इंस्टॉल करने का तरीका जानने के लिए, यहां जाएं.

एक्सएमएल एट्रिब्यूट या GoogleMapOptions क्लास का इस्तेमाल करके मैप बनाते समय भी, इन विकल्पों को कॉन्फ़िगर किया जा सकता है. ज़्यादा जानकारी के लिए, मैप को कॉन्फ़िगर करना लेख पढ़ें.

ज़ूम करने के जेस्चर

मैप, कई तरह के जेस्चर के हिसाब से काम करता है. इनसे कैमरे के ज़ूम करने का लेवल बदला जा सकता है:

  • ज़ूम करने के लेवल को 1 बढ़ाने (ज़ूम इन करने) के लिए, दो बार टैप करें.
  • ज़ूम करने का लेवल 1 कम करने (ज़ूम आउट करने) के लिए, दो उंगलियों से टैप करें.
  • दो उंगलियों से पिंच/स्ट्रेच करना
  • एक उंगली से ज़ूम करने के लिए, दो बार टैप करें. हालांकि, दूसरी बार टैप करने पर उंगली को स्क्रीन से न हटाएं. इसके बाद, ज़ूम आउट करने के लिए उंगली को ऊपर की ओर या ज़ूम इन करने के लिए नीचे की ओर स्लाइड करें.

UiSettings.setZoomGesturesEnabled(boolean) को कॉल करके, ज़ूम करने के जेस्चर बंद किए जा सकते हैं. इससे इस बात पर कोई असर नहीं पड़ेगा कि कोई उपयोगकर्ता ज़ूम इन और ज़ूम आउट करने के लिए, ज़ूम कंट्रोल का इस्तेमाल कर सकता है या नहीं.

स्क्रोल (पैन) करने के जेस्चर

उपयोगकर्ता, मैप को अपनी उंगली से खींचकर, मैप पर स्क्रोल (पैन) कर सकता है. UiSettings.setScrollGesturesEnabled(boolean) को कॉल करके, स्क्रोल करने की सुविधा को बंद किया जा सकता है.

टिल्ट जेस्चर

उपयोगकर्ता, मैप पर दो उंगलियां रखकर और उन्हें एक साथ नीचे या ऊपर की ओर ले जाकर, मैप को झुका सकता है. इससे झुकाव के ऐंगल को बढ़ाया या घटाया जा सकता है. UiSettings.setTiltGesturesEnabled(boolean) को कॉल करके, झुकाने वाले जेस्चर बंद किए जा सकते हैं.

घुमाने के जेस्चर

उपयोगकर्ता, मैप पर दो उंगलियां रखकर और उन्हें घुमाकर, मैप को घुमा सकता है. UiSettings.setRotateGesturesEnabled(boolean) को कॉल करके, रोटेशन की सुविधा को बंद किया जा सकता है.