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

प्लैटफ़ॉर्म चुनें: 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) को कॉल करके रोटेशन को बंद कर सकते हैं.