Android v3.1.0 बीटा के लिए Maps SDK टूल का इस्तेमाल करना

Android के लिए Maps SDK का वर्शन 3.1.0 बीटा एक नया तरीका है, जिसमें पिछले वर्शन वाली एपीआई सतह है (सभी क्लास और तरीकों में कोई बदलाव नहीं हुआ है). इसमें कुछ नई सुविधाएं भी हैं जिन्हें आप आज़मा सकते हैं:

  • Maps को पसंद के मुताबिक बनाना
  • मार्कर टक्कर से होने वाले नुकसान को हैंडल करना
  • पॉलीलाइन पसंद के मुताबिक बनाना

इस गाइड में नई सुविधाओं का इस्तेमाल करने का तरीका बताया गया है.

Maps कस्टमाइज़ेशन (बीटा)

क्लाउड-आधारित मैप स्टाइलिंग में कई तरह के टूल और सुविधाएं मिलती हैं, जिनसे मैप को अपनी पसंद के मुताबिक और मैनेज करने में आसानी होती है. Maps API और SDK टूल का इस्तेमाल करके कोड में मैप को स्टाइल करने के बजाय, Google Cloud Console में मैप को मैनेज और स्टाइल किया जा सकता है. ज़्यादा जानकारी के लिए, Android मैप कस्टमाइज़ेशन की खास जानकारी देखें.

मार्कर टकराव को हैंडल करना (बीटा)

आपके पास यह तय करने का विकल्प है कि कोई टक्कर होने पर, कस्टम मार्कर को डिफ़ॉल्ट बेसमैप लेबल को ओवरराइड करना चाहिए या नहीं. साथ ही, कस्टम मार्कर के बीच मिलती-जुलती प्राथमिकता दिखाने के लिए भी ऐसा किया जा सकता है. ज़्यादा जानकारी के लिए, Marker Collision handling (Android) लेख पढ़ें.

पॉलीलाइन कस्टमाइज़ेशन (बीटा)

अब पॉलीलाइन के लुक को पसंद के मुताबिक बनाने के कई नए तरीके उपलब्ध हैं:

  • कई रंगों वाली पॉलीलाइन पॉलीलाइन सेगमेंट को अलग-अलग रंगों में सेट करती हैं.
  • ग्रेडिएंट पॉलीलाइन, दो रंगों के ग्रेडिएंट का इस्तेमाल करके पॉलीलाइन को रंग देता है.
  • स्टैंप्ड पॉलीलाइन, दोहराए जाने वाले बिटमैप का इस्तेमाल करके पॉलीलाइन स्टाइल बनाते हैं.

कई रंगों वाली पॉलीलाइन बनाना

स्पैन का इस्तेमाल करके, पॉलीलाइन के सेगमेंट को अलग-अलग रंग दिया जा सकता है. ऐसा करने के लिए, StyleSpan ऑब्जेक्ट बनाएं और addSpan() या addSpans() तरीकों का इस्तेमाल करके उन्हें PolylineOptions में जोड़ें. डिफ़ॉल्ट रूप से, कलेक्शन में मौजूद हर आइटम, उससे जुड़े लाइन सेगमेंट का रंग सेट करेगा. इस उदाहरण में, लाल और हरे रंग के सेगमेंट वाली पॉलीलाइन बनाने के लिए, सेगमेंट के रंग सेट करने का तरीका दिखाया गया है:

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(StyleSpan(Color.RED))
        .addSpan(StyleSpan(Color.GREEN))
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(Color.RED))
        .addSpan(new StyleSpan(Color.GREEN)));

      

ग्रेडिएंट पॉलीलाइन बनाना

स्ट्रोक के शुरुआती और आखिरी रंग की जानकारी देने के लिए, दो 32-बिट ऐल्फ़ा-लाल-हरे-नीले (एआरजीबी) पूर्णांकों को तय करके ग्रेडिएंट तय किया जा सकता है. PolylineOptions.addSpan() को कॉल करके, इस प्रॉपर्टी को आकार के विकल्प ऑब्जेक्ट पर सेट करें. नीचे दिए गए उदाहरण में, वुडलैंड पार्क ज़ू से कर्कलैंड, वॉशिंगटन तक, लाल से पीले रंग की ग्रेडिएंट पॉलीलाइन बनाने का तरीका दिखाया गया है.

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(
            StyleSpan(
                StrokeStyle.gradientBuilder(
                    Color.RED,
                    Color.YELLOW
                ).build()
            )
        )
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));

      

स्टैंप वाली पॉलीलाइन बनाना

आप एक दोहराए जाने वाले बिटमैप बनावट के लिए पॉलीलाइन का रूप सेट कर सकते हैं. ऐसा करने के लिए, TextureStyle का StampStyle बनाएं, फिर यहां दिखाए गए तरीके से PolylineOptions.addSpan() को कॉल करके इस प्रॉपर्टी को आकार के विकल्प ऑब्जेक्ट पर सेट करें:

Kotlin



val stampStyle =
    TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(span)
)

      

Java


StampStyle stampStyle =
        TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(span));

      

बीटा वर्शन के साथ काम करने वाली यूटिलिटी लाइब्रेरी को इंपोर्ट करें

अगर Google Maps Android API यूटिलिटी लाइब्रेरी का इस्तेमाल किया जा रहा है, तो आपको अपने प्रोजेक्ट डिपेंडेंसी भी अपडेट करनी होंगी. इसके बाद, मौजूदा वर्शन को बीटा वर्शन के साथ काम करने वाले वर्शन से बदलना होगा. इसके लिए, यह तरीका अपनाएं:

  1. अपनी build.gradle फ़ाइल में बीटा वर्शन के साथ काम करने वाली यूटिल लाइब्रेरी इंपोर्ट करें:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. बिना बीटा वर्शन वाली यूटिलिटी लाइब्रेरी को हटाने के लिए, अपने build.gradle से ये हटाएं:
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

सैंपल चलाएं

GitHub पर Google के सैंपल डेटा स्टोर करने की जगह में, सैंपल ऐप्लिकेशन शामिल हैं. ये ऐप्लिकेशन Android के लिए v3.1.0 बीटा Maps SDK के इस्तेमाल के बारे में बताते हैं.