Android यूज़र इंटरफ़ेस (यूआई) को पसंद के मुताबिक बनाना

ConsumerMapStyle क्लास में सेटर और गेटर के तरीके हैं. इनकी मदद से, मार्कर और पॉलीलाइन को ज़रूरत के मुताबिक बनाया जा सकता है. इस क्लास को ConsumerController.getConsumerMapStyle() तरीके का इस्तेमाल करके, एसिंक्रोनस तरीके से दिखाया जाता है.

यूज़र इंटरफ़ेस (यूआई) को पसंद के मुताबिक बनाने की सुविधा, डिवाइस के रोटेशन के दौरान बनी रहती है और ConsumerController के अलग होने तक लागू रहती है.

कस्टम मार्कर

मार्कर टाइप और उसकी प्रॉपर्टी को सेट करने का तरीका ConsumerMapStyle.setMarkerStyleOptions() है. आपके कस्टम मार्कर विकल्प, उपभोक्ता SDK टूल से मिलने वाली डिफ़ॉल्ट वैल्यू को बदल देते हैं. डिफ़ॉल्ट वैल्यू को पहले जैसा करने के लिए, MarkerOptions पैरामीटर के लिए, शून्य का इस्तेमाल करके setMarkerStyleOptions() को कॉल करें. getMarkerStyleOptions() का इस्तेमाल करके, चालू MarkerOptions को वापस पाएं.

मार्कर के टाइप

नीचे दिए गए मार्कर, पसंद के मुताबिक बनाए जा सकते हैं:

  • TRIP_PICKUP_POINT
  • TRIP_DROPOFF_POINT
  • TRIP_INTERMEDIATE_DESTINATION
  • TRIP_VEHICLE

यात्रा की निगरानी के दौरान TRIP_PICKUP_POINT और TRIP_DROPOFF_POINT का डिसप्ले दिखता है.

यात्रा की निगरानी के दौरान TRIP_VEHICLE दिखता है. मार्कर का आइकॉन, यात्रा के लिए इस्तेमाल किए जा रहे वाहन के हिसाब से नहीं बदलता. कंज़्यूमर SDK टूल, यात्रा से जुड़ी मॉनिटरिंग के दौरान TRIP_VEHICLE आइकॉन को घुमाकर अपडेट करता है, ताकि सफ़र के दौरान वाहन के व्यवहार की नकल की जा सके.

मार्कर के विकल्प

हर मार्कर के लिए पसंद के मुताबिक बनाई जा सकने वाली प्रॉपर्टी, Google Maps MarkerOptions से मिली प्रॉपर्टी का सेट होती हैं.

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

visible को false पर सेट करके, मार्कर को बंद किया जा सकता है. काफ़ी डेटा दिया जाना चाहिए, ताकि आप उसकी जगह अपना यूज़र इंटरफ़ेस (यूआई) एलिमेंट इस्तेमाल कर सकें.

उदाहरण

Java

// Initializing marker options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setMarkerStyleOptions(
              MarkerType.TRIP_VEHICLE,
              new MarkerOptions()
                  .visible(false));
        });

// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null);

Kotlin

// Initializing marker options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, MarkerOptions().visible(false))
  })

// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null)

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

पॉलीलाइन को पसंद के मुताबिक बनाने की सुविधा, ConsumerMapStyle.setPolylineStyleOptions तरीके का इस्तेमाल करके सेट की गई है. कस्टम पॉलीलाइन विकल्प सेट करने से, उपभोक्ता SDK से मिलने वाली डिफ़ॉल्ट वैल्यू बदल जाती हैं. PolylineOptions पैरामीटर के लिए, setPolylineStyleOptions को शून्य के साथ कॉल करके, डिफ़ॉल्ट वैल्यू को पहले जैसा किया जा सकता है. getPolylineStyleOptions तरीके का इस्तेमाल करके, चालू PolylineOptions को वापस पाया जा सकता है.

पॉलीलाइन के टाइप

इन पॉलीलाइन टाइप को पसंद के मुताबिक बनाया जा सकता है:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE और REMAINING_ROUTE को यात्रा की निगरानी के दौरान दिखाया जाता है और इनसे वाहन का रास्ता दिखता है.

पॉलीलाइन के गुण

हर पॉलीलाइन के लिए पसंद के मुताबिक उपलब्ध प्रॉपर्टी को Google Maps PolylineOptions उपलब्ध कराता है. PolylineOptions को इसके कंस्ट्रक्टर का इस्तेमाल करके बनाया गया है. साथ ही, पसंद के मुताबिक बनाई गई प्रॉपर्टी को 'सेटर' स्टाइल वाले तरीकों का इस्तेमाल करके बनाया गया है. हर प्रॉपर्टी के लिए डिफ़ॉल्ट वैल्यू दी जाती हैं. इसलिए, आपको सिर्फ़ कस्टम वैल्यू तय करने की ज़रूरत है. visible को false पर सेट करके, पॉलीलाइन बंद की जा सकती है.

उदाहरण

Java

// Initializing polyline style options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .visible(false));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);

Kotlin

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    consumerMapStyle.setPolylineStyleOptions(
      PolylineType.ACTIVE_ROUTE,
      PolylineOptions().visible(false)
    )
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

चालू और बचा हुआ रास्ता

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

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

आपके ऐप्लिकेशन से, चालू और बची हुई पॉलीलाइन अपनी पसंद के मुताबिक बनाई जा सकती हैं और दिखने से जुड़ी सेटिंग तय की जा सकती हैं. डिफ़ॉल्ट रूप से, चालू रास्ता दिखता है और बचा हुआ रास्ता नहीं दिखता है.

उदाहरण

Java

// Initializing polyline options.
consumerController
    .getConsumerMapStyle()
    .addOnSuccessListener(
        consumerMapStyle -> {
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.ACTIVE_ROUTE,
              new PolylineOptions()
                  .color(Color.BLUE));
          consumerMapStyle.setPolylineStyleOptions(
              PolylineType.REMAINING_ROUTE,
              new PolylineOptions()
                  .color(Color.BLACK)
                  .width(5)
                  .visible(true));
        });

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);

Kotlin

// Initializing polyline options.
consumerController
  .getConsumerMapStyle()
  .addOnSuccessListener({ consumerMapStyle ->
    {
      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.ACTIVE_ROUTE,
        PolylineOptions().color(Color.BLUE)
      )

      consumerMapStyle.setPolylineStyleOptions(
        PolylineType.REMAINING_ROUTE,
        PolylineOptions().color(Color.BLACK).width(5).visible(true)
      )
    }
  })

// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)

consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)

ट्रैफ़िक की जानकारी देने वाली पॉलीलाइन

पॉलीलाइन की ट्रैफ़िक लेयर डिफ़ॉल्ट रूप से बंद होती है. इसे चालू करने पर, सामान्य ट्रैफ़िक दिखाने वाले सेगमेंट, z-index PolylineOptions.getZIndex() पर मौजूद रूट पॉलीलाइन के ऊपर और ट्रैफ़िक की स्थिति के आधार पर ऑफ़सेट दिखते हैं.

ट्रैफ़िक की स्थिति को स्पीड के चार टाइप में से एक के तौर पर दिखाया जाता है. हर स्पीड टाइप के लिए, रंग को अपनी पसंद के मुताबिक बनाया जा सकता है.

"ट्रैफ़िक की जानकारी रखने वाली पॉलीलाइन" चालू करने के लिए, आपको एक TrafficStyle ऑब्जेक्ट बनाना होगा. इसके बाद, setPolylineTrafficStyle() पर कॉल करके, ConsumerMapStyle को भेजा जाएगा.

उदाहरण

Java

// TrafficStyle is part of the Consumer SDK.
TrafficStyle trafficStyle = TrafficStyle.builder()
  .setTrafficVisibility(true)
  .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
  .setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
  .setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
  .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
  .build();

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);

Kotlin

// TrafficStyle is part of the Consumer SDK.
val trafficStyle =
  TrafficStyle.builder()
    .setTrafficVisibility(true)
    .setTrafficColor(SpeedType.NO_DATA, Color.GREY)
    .setTrafficColor(SpeedType.NORMAL_VALUE, Color.BLUE)
    .setTrafficColor(SpeedType.SLOW_VALUE, Color.ORANGE)
    .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
    .build()

consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)

सफ़र पर फ़ोकस करने के लिए कैमरे के ज़ूम को अडजस्ट किया जा रहा है

Maps SDK में मौजूद डिफ़ॉल्ट मेरी जगह की जानकारी बटन, कैमरे को डिवाइस की जगह पर फ़ोकस करता है. अगर 'यात्रा और ऑर्डर की स्थिति' वाला कोई सेशन चालू हो, तो हो सकता है कि आपको कैमरे के बीच में फ़ोकस करना हो, न कि डिवाइस की जगह पर.

Android में पहले से मौजूद समाधान के लिए उपभोक्ता SDK टूल: AutoCamera

आप डिवाइस की जगह के बजाय सफ़र पर ध्यान दे सकें, इसके लिए उपभोक्ता SDK टूल में AutoCamera की एक सुविधा मिलती है, जो डिफ़ॉल्ट रूप से चालू होती है. कैमरा ज़ूम करता है, ताकि यात्रा और ऑर्डर की स्थिति के रास्ते और यात्रा के अगले वेपॉइंट पर फ़ोकस किया जा सके.

कैमरा व्यवहार को पसंद के मुताबिक बनाना

अगर आपको कैमरे के काम करने के तरीके को बेहतर तरीके से कंट्रोल करना है, तो ConsumerController.setAutoCameraEnabled() का इस्तेमाल करके AutoCamera को बंद या चालू किया जा सकता है.

ConsumerController.getCameraUpdate() उस समय सुझाई गई कैमरा सीमाएं दिखाता है. इसके बाद, इस CameraUpdate को GoogleMap.moveCamera() या GoogleMap.animateCamera() के तर्क के तौर पर दिया जा सकता है.