Android Utility लाइब्रेरी के लिए Maps SDK टूल

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

क्या आपको अपने मैप में ऐडवांस सुविधाएं जोड़नी हैं? Android के लिए Maps SDK की उपयोगिता लाइब्रेरी, क्लास की एक ओपन-सोर्स लाइब्रेरी है. यह कई तरह के ऐप्लिकेशन के लिए काम की है. GitHub रिपॉज़िटरी में, यूटिलिटी क्लास और एक डेमो ऐप्लिकेशन शामिल होता है. यह ऐप्लिकेशन, हर क्लास के इस्तेमाल के बारे में बताता है.

इस वीडियो में, क्रिस ब्रॉडफ़ुट ने यूटिलिटी लाइब्रेरी के बारे में बताया है. इसमें पॉलीलाइन डिकोडिंग, स्फ़ेरिकल जियोमेट्री, और बबल आइकॉन पर फ़ोकस किया गया है.

त्‍वरित सेटअप

Android के लिए Maps SDK की उपयोगिता लाइब्रेरी इंस्टॉल करने के लिए, सेटअप गाइड देखें.

यूटिलिटी

GeoJSON लेयर वाला मैप

अपने मैप पर GeoJSON इंपोर्ट करना

सुविधाओं को GeoJSON फ़ॉर्मैट में सेव किया जा सकता है. साथ ही, इस यूटिलिटी का इस्तेमाल करके, उन्हें मैप के ऊपर लेयर के तौर पर रेंडर किया जा सकता है. मैप में अपना GeoJSON डेटा जोड़ने के लिए, addLayer() को कॉल करें. addFeature() को कॉल करके और GeoJsonFeature ऑब्जेक्ट को पास करके, अलग-अलग सुविधाएं भी जोड़ी जा सकती हैं.

ज़्यादा जानकारी के लिए, Google Maps Android GeoJSON यूटिलिटी से जुड़ा दस्तावेज़ देखें.

KML लेयर वाला मैप

अपने मैप पर KML फ़ाइल इंपोर्ट करना

इस यूटिलिटी का इस्तेमाल करके, KML ऑब्जेक्ट को भौगोलिक आकृतियों में बदला जा सकता है. साथ ही, उन्हें मैप के ऊपर एक लेयर के तौर पर रेंडर किया जा सकता है. मैप में अपनी लेयर जोड़ने के लिए, addLayerToMap() को कॉल करें. किसी भी प्लेसमार्क, GroundOverlay, दस्तावेज़ या फ़ोल्डर पर getProperties() को कॉल करके, KML ऑब्जेक्ट में प्रॉपर्टी ऐक्सेस की जा सकती हैं.

ज़्यादा जानकारी के लिए, Google Maps Android KML Utility से जुड़ा दस्तावेज़ देखें.

हीटमैप वाला मैप

अपने मैप में हीटमैप जोड़ना

हीटमैप की मदद से, दर्शकों को मैप पर डेटा पॉइंट के डिस्ट्रिब्यूशन और उनकी रिलेटिव इंटेंसिटी को समझने में मदद मिलती है. हर जगह पर मार्कर लगाने के बजाय, हीटमैप में डेटा के डिस्ट्रिब्यूशन को दिखाने के लिए रंग और आकार का इस्तेमाल किया जाता है. HeatmapTileProvider बनाएं. इसके लिए, मैप पर मौजूद लोकप्रिय जगहों को दिखाने वाले LatLng ऑब्जेक्ट का कलेक्शन पास करें. इसके बाद, एक नया TileOverlay बनाएं, उसे हीटमैप टाइल प्रोवाइडर को पास करें, और मैप में टाइल ओवरले जोड़ें.

ज़्यादा जानकारी के लिए, Google Maps Android हीटमैप यूटिलिटी से जुड़ा दस्तावेज़ देखें.

बबल आइकॉन वाला मैप

बबल आइकॉन की मदद से मार्कर को पसंद के मुताबिक बनाना

अपने मार्कर पर जानकारी के स्निपेट दिखाने के लिए, IconGenerator जोड़ें. इस सुविधा की मदद से, मार्कर आइकॉन को कुछ हद तक जानकारी वाली विंडो की तरह दिखाया जा सकता है. इसमें मार्कर में टेक्स्ट और अन्य कॉन्टेंट शामिल हो सकता है. इसका फ़ायदा यह है कि एक ही समय पर एक से ज़्यादा मार्कर खोले जा सकते हैं. हालांकि, जानकारी विंडो एक बार में सिर्फ़ एक ही खोली जा सकती है. मार्कर को स्टाइल भी किया जा सकता है. साथ ही, मार्कर और/या कॉन्टेंट का ओरिएंटेशन बदला जा सकता है. इसके अलावा, मार्कर की बैकग्राउंड इमेज/नाइन-पैच को भी बदला जा सकता है.

मार्कर वाला मैप

मार्कर ऐनिमेट करना

मार्कर को ऐनिमेट किया जा सकता है, ताकि वह अपनी मौजूदा जगह से नई जगह पर आसानी से जा सके. AnimationUtil क्लास से यह सुविधा मिलती है. इसका इस्तेमाल करने का उदाहरण देखने के लिए, यूटिलिटी लाइब्रेरी के GitHub डेटा स्टोर करने की जगह में AnimationUtilDemoActivity देखें.

क्लस्टर किए गए मार्कर वाला मैप

मार्कर क्लस्टर मैनेज करना

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

ज़्यादा जानकारी के लिए, Google Maps Android मार्कर क्लस्टरिंग यूटिलिटी से जुड़ा दस्तावेज़ देखें.

एक से ज़्यादा लेयर वाला मैप

एक ही मैप में कई लेयर जोड़ना

एक ही मैप पर GeoJSON, KML, और क्लस्टर की सुविधाएं दिखाई जा सकती हैं. साथ ही, अपने मार्कर, पॉलीलाइन, और पॉलीगॉन भी दिखाए जा सकते हैं. हर लेयर में क्लिक लिसनर जोड़कर, इन लेयर को इंटरैक्टिव भी बनाया जा सकता है. ऐसा करने के लिए, MarkerManager, GroundOverlayManager, PolygonManager, और PolylineManager क्लास को इंस्टैंशिएट करें. साथ ही, उन्हें सेट अप करते समय GeoJsonLayer, KmlLayer, और ClusterManager के कंस्ट्रक्टर में पास करें. इसके बाद, इन Manager क्लास का इस्तेमाल करके, मैप पर अपने मार्कर, पॉलीलाइन, और पॉलीगॉन जोड़े जा सकते हैं.

ज़्यादा जानकारी के लिए, Google Maps Android मल्टी लेयर डेमो पर मौजूद दस्तावेज़ देखें.

एन्कोड की गई पॉलीलाइन वाला मैप

पॉलीलाइन को कोड में बदलना और डिकोड करना

PolyUtil क्लास, एन्कोड की गई पॉलीलाइन और पॉलीगॉन को अक्षांश/देशांतर निर्देशांक में बदलती है. साथ ही, निर्देशांक को एन्कोड की गई पॉलीलाइन और पॉलीगॉन में बदलती है.

Google Maps में, पॉलीलाइन या पॉलीगॉन को तय करने वाले अक्षांश और देशांतर के निर्देशांक, एन्कोड की गई स्ट्रिंग के तौर पर सेव किए जाते हैं. पॉलीलाइन को कोड में बदलने के बारे में ज़्यादा जानकारी देखें. आपको यह एन्कोड की गई स्ट्रिंग, Google API से मिले जवाब में मिल सकती है. जैसे, Directions API (लेगसी).

Android के लिए Maps SDK की उपयोगिता लाइब्रेरी में PolyUtil का इस्तेमाल किया जा सकता है. इससे, अक्षांश/देशांतर निर्देशांकों ('LatLngs') के क्रम को एन्कोड की गई पाथ स्ट्रिंग में एन्कोड किया जा सकता है. साथ ही, एन्कोड की गई पाथ स्ट्रिंग को LatLngs के क्रम में डिकोड किया जा सकता है. इससे यह पक्का होगा कि Google Maps API की वेब सेवाओं के साथ इंटरऑपरेबिलिटी बनी रहे.

मैप पर दो जगहों के बीच की दूरी कैलकुलेट करना

स्फ़ेरिकल ज्यामिति की मदद से दूरी, क्षेत्रफल, और हेडिंग का हिसाब लगाना

SphericalUtil में स्फ़ेरिकल जियोमेट्री यूटिलिटी का इस्तेमाल करके, अक्षांश और देशांतर के आधार पर दूरी, क्षेत्रफल, और हेडिंग का हिसाब लगाया जा सकता है. इस यूटिलिटी में उपलब्ध कुछ तरीके यहां दिए गए हैं:

  • computeDistanceBetween() – यह फ़ंक्शन, दो अक्षांश/देशांतर निर्देशांकों के बीच की दूरी को मीटर में दिखाता है.
  • computeHeading() – यह फ़ंक्शन, दो अक्षांश/देशांतर निर्देशांकों के बीच के बेयरिंग को डिग्री में दिखाता है.
  • computeArea() – यह फ़ंक्शन, पृथ्वी पर मौजूद किसी बंद पाथ का क्षेत्रफल वर्ग मीटर में दिखाता है.
  • interpolate() – यह फ़ंक्शन, दिए गए दो बिंदुओं के बीच की दूरी के किसी हिस्से पर मौजूद बिंदु के अक्षांश/देशांतर निर्देशांक दिखाता है. उदाहरण के लिए, इसका इस्तेमाल करके दो पॉइंट के बीच मार्कर को ऐनिमेट किया जा सकता है.

यूटिलिटी में मौजूद तरीकों की पूरी सूची देखने के लिए, रेफ़रंस दस्तावेज़ देखें.

यह देखना कि किसी जगह के लिए Street View की सुविधा उपलब्ध है या नहीं

यह देखना कि Street View में किसी जगह की जानकारी उपलब्ध है या नहीं

StreetViewUtil क्लास, यह जांचने की सुविधा देती है कि Street View में कोई जगह उपलब्ध है या नहीं. किसी Android ऐप्लिकेशन में Street View पैनोरमा जोड़ते समय, गड़बड़ियों से बचा जा सकता है. इसके लिए, इस मेटाडेटा यूटिलिटी को कॉल करें और Street View पैनोरमा सिर्फ़ तब जोड़ें, जब जवाब OK हो.

ज़्यादा जानकारी के लिए, GitHub पर Street View मेटाडेटा यूटिलिटी से जुड़ा दस्तावेज़ देखें.