Android के लिए Maps SDK का इस्तेमाल करके, यह तय किया जा सकता है कि उपयोगकर्ता आपके मैप के साथ कैसे इंटरैक्ट कर सकते हैं. इसके लिए, यह तय करें कि मैप पर पहले से मौजूद यूज़र इंटरफ़ेस (यूआई) के कौनसे कॉम्पोनेंट दिखेंगे और कौनसे जेस्चर इस्तेमाल किए जा सकेंगे.
कोड सैंपल
GitHub पर मौजूद ApiDemos रिपॉज़िटरी में, एक ऐसा सैंपल है जो कंट्रोल और जेस्चर के विकल्पों के इस्तेमाल के बारे में बताता है:
- UiSettingsDemoActivity: Kotlin का सैंपल
- UiSettingsDemoActivity: Java का सैंपल
उपयोगकर्ता के कम से कम इंटरैक्शन के लिए लाइट मोड
अगर आपको कम इंटरैक्शन वाला हल्का मैप चाहिए, तो लाइट मोड वाले मैप का इस्तेमाल करें. लाइट मोड में, किसी जगह और ज़ूम लेवल के हिसाब से मैप की बिटमैप इमेज दिखती है. लाइट मोड में, उपयोगकर्ता मैप को पैन या ज़ूम नहीं कर सकते. साथ ही, जेस्चर काम नहीं करते. ज़्यादा जानकारी के लिए, लाइट मोड से जुड़ी गाइड देखें.
यूज़र इंटरफ़ेस (यूआई) कंट्रोल
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 के मोबाइल ऐप्लिकेशन में, मैप व्यू या रास्ते की जानकारी का अनुरोध करने की सुविधा मिलती है. जब कोई उपयोगकर्ता टूलबार पर मौजूद किसी आइकॉन पर टैप करता है, तब API, Google Maps के मोबाइल ऐप्लिकेशन में उससे जुड़ी गतिविधि को लॉन्च करने के लिए, एक इंटेंट बनाता है.
ऊपर दिए गए स्क्रीनशॉट में, मैप के सबसे नीचे दाईं ओर टूलबार दिख रहा है. मैप के कॉन्टेंट के आधार पर, मैप पर एक या दोनों इंटेंट आइकॉन दिखेंगे. हालांकि, इसके लिए ज़रूरी है कि Google Maps का मोबाइल ऐप्लिकेशन, इंटेंट के हिसाब से नतीजे दिखाने की सुविधा के साथ काम करता हो.
मैप पर किए जाने वाले जेस्चर
Android के लिए Maps SDK की मदद से बनाए गए मैप में, Google Maps ऐप्लिकेशन की तरह ही जेस्चर इस्तेमाल किए जा सकते हैं. हालांकि, कुछ मामलों में आपको मैप की स्थिति बनाए रखने के लिए, कुछ जेस्चर बंद करने पड़ सकते हैं. ज़ूम करने, पैन करने, झुकाने, और बेयरिंग को प्रोग्राम के हिसाब से भी सेट किया जा सकता है. ज़्यादा जानकारी के लिए, कैमरा और व्यू देखें. ध्यान दें कि जेस्चर की सुविधा बंद करने से, प्रोग्राम के हिसाब से कैमरे की पोज़िशन बदलने की सुविधा पर कोई असर नहीं पड़ता.
यूज़र इंटरफ़ेस (यूआई) कंट्रोल की तरह ही, UiSettings क्लास का इस्तेमाल करके, जेस्चर की सुविधा चालू/बंद की जा सकती है. इस क्लास को GoogleMap से GoogleMap.getUiSettings को कॉल करके पाया जा सकता है. इस क्लास में किए गए बदलाव, मैप पर तुरंत दिखते हैं. इन सुविधाओं का उदाहरण देखने के लिए, सैंपल ऐप्लिकेशन में यूज़र इंटरफ़ेस (यूआई) सेटिंग की डेमो गतिविधि देखें. इसे इंस्टॉल करने का तरीका जानने के लिए, यहां जाएं.
एक्सएमएल एट्रिब्यूट या GoogleMapOptions क्लास का इस्तेमाल करके मैप बनाते समय भी, इन विकल्पों को कॉन्फ़िगर किया जा सकता है.
ज़्यादा जानकारी के लिए, मैप को कॉन्फ़िगर करना लेख पढ़ें.
ज़ूम करने के लिए जेस्चर
मैप पर कई तरह के जेस्चर किए जा सकते हैं. इनसे कैमरे का ज़ूम लेवल बदला जा सकता है:
- ज़ूम लेवल को 1 से बढ़ाने (ज़ूम इन करने) के लिए, दो बार टैप करें.
- ज़ूम लेवल को 1 से कम करने (ज़ूम आउट करने) के लिए, दो उंगलियों से टैप करें.
- दो उंगलियों से पिंच/स्ट्रेच करें
- एक उंगली से ज़ूम करने के लिए, दो बार टैप करें. दूसरी बार टैप करने पर उंगली को न छोड़ें. इसके बाद, ज़ूम आउट करने के लिए उंगली को ऊपर की ओर स्लाइड करें या ज़ूम इन करने के लिए उंगली को नीचे की ओर स्लाइड करें.
UiSettings.setZoomGesturesEnabled(boolean) पर कॉल करके, ज़ूम करने के लिए इस्तेमाल किए जाने वाले जेस्चर की सुविधा बंद की जा सकती है. इससे इस बात पर कोई असर नहीं पड़ेगा कि कोई उपयोगकर्ता, ज़ूम इन और ज़ूम आउट करने के लिए ज़ूम कंट्रोल का इस्तेमाल कर सकता है या नहीं.
स्क्रोल (पैन) करने के जेस्चर
कोई उपयोगकर्ता, मैप को अपनी उंगली से खींचकर, उसे चारों ओर घुमा सकता है.
UiSettings.setScrollGesturesEnabled(boolean) पर कॉल करके, स्क्रोल करने की सुविधा बंद की जा सकती है.
झुकाने वाले जेस्चर
कोई उपयोगकर्ता, मैप पर दो उंगलियां रखकर उसे झुका सकता है. इसके लिए, उसे दोनों उंगलियों को एक साथ नीचे या ऊपर की ओर ले जाना होगा. इससे मैप के झुकाव का कोण बढ़ या घट जाएगा. UiSettings.setTiltGesturesEnabled(boolean) पर कॉल करके, डिवाइस को झुकाने वाले जेस्चर की सुविधा बंद की जा सकती है.
घुमाने के जेस्चर
कोई उपयोगकर्ता, मैप पर दो उंगलियां रखकर और उन्हें घुमाकर मैप को रोटेट कर सकता है. UiSettings.setRotateGesturesEnabled(boolean) पर कॉल करके, रोटेशन की सुविधा बंद की जा सकती है.