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 के मोबाइल ऐप्लिकेशन में, मैप व्यू या रास्ते की जानकारी के अनुरोध को ऐक्सेस किया जा सकता है. जब कोई व्यक्ति टूलबार पर मौजूद किसी आइकॉन पर टैप करता है, तो एपीआई, 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) पर कॉल करके, रोटेशन की सुविधा बंद की जा सकती है.