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