سفارشی سازی رابط کاربری اندروید

کلاس ConsumerMapStyle دارای متدهای تنظیم کننده و دریافت کننده است که سفارشی سازی پویا را برای نشانگرها و چند خط به شما ارائه می دهد. این کلاس به صورت ناهمزمان با استفاده از متد ConsumerController.getConsumerMapStyle() نمایش داده می شود.

سفارشی‌سازی UI در تمام چرخش‌های دستگاه ادامه دارد و تا زمانی که ConsumerController جدا نشود به قوت خود باقی می‌ماند.

نشانگرهای سفارشی

روش تنظیم نوع نشانگر و خصوصیات آن ConsumerMapStyle.setMarkerStyleOptions() است. گزینه های نشانگر سفارشی شما مقادیر پیش فرض ارائه شده توسط Consumer SDK را لغو می کند. برای بازیابی مقادیر پیش فرض، setMarkerStyleOptions() را با استفاده از null برای پارامتر MarkerOptions فراخوانی کنید. MarkerOptions فعال را با استفاده از getMarkerStyleOptions() بازیابی کنید.

انواع نشانگر

نشانگرهای زیر برای سفارشی سازی در دسترس هستند:

  • TRIP_PICKUP_POINT
  • TRIP_DROPOFF_POINT
  • TRIP_INTERMEDIATE_DESTINATION
  • TRIP_VEHICLE

نمایش TRIP_PICKUP_POINT و TRIP_DROPOFF_POINT در حین نظارت بر سفر.

TRIP_VEHICLE در حین نظارت بر سفر نمایش داده می شود. نماد نشانگر با توجه به نوع وسیله نقلیه واقعی برای سفر تغییر نمی کند. Consumer SDK چرخش نماد TRIP_VEHICLE را در حین نظارت بر سفر به‌روزرسانی می‌کند تا رفتار خودروی واقعی را در حین حرکت در مسیر تقلید کند.

گزینه های نشانگر

ویژگی های قابل تنظیم موجود برای هر نشانگر مجموعه ای از ویژگی های ارائه شده توسط Google Maps MarkerOptions است.

MarkerOptions با استفاده از سازنده آن ساخته می‌شود و ویژگی‌های سفارشی‌شده با استفاده از روش‌های سبک «Setter» مشخص می‌شوند. مقادیر پیش فرض برای هر ویژگی ارائه شده است، بنابراین شما فقط باید مقادیر سفارشی را مشخص کنید.

می‌توانید با تنظیم visible false ، نشانگر را خاموش کنید. داده های کافی باید ارائه شود تا بتوانید از عنصر UI خود در جای خود استفاده کنید.

مثال

جاوا

// 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);

کاتلین

// 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)

چند خط سفارشی

سفارشی سازی Polyline با استفاده از روش ConsumerMapStyle.setPolylineStyleOptions تنظیم می شود. تنظیم گزینه های چند خط سفارشی، مقادیر پیش فرض ارائه شده توسط Consumer SDK را لغو می کند. مقادیر پیش فرض را می توان با فراخوانی setPolylineStyleOptions با null برای پارامتر PolylineOptions بازیابی کرد. PolylineOptions فعال را می توان با استفاده از روش getPolylineStyleOptions بازیابی کرد.

انواع پلی لاین

انواع چند خط زیر برای سفارشی سازی در دسترس هستند:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE و REMAINING_ROUTE در حین نظارت بر سفر نمایش داده می‌شوند و مسیر خودرو را نشان می‌دهند.

ویژگی های پلی لاین

ویژگی های قابل سفارشی سازی موجود برای هر چند خط توسط Google Maps PolylineOptions ارائه شده است. PolylineOptions با استفاده از سازنده آن ساخته می‌شود و ویژگی‌های سفارشی‌شده با استفاده از روش‌های سبک «Setter» مشخص می‌شوند. مقادیر پیش فرض برای هر ویژگی ارائه شده است، بنابراین شما فقط باید مقادیر سفارشی را مشخص کنید. می‌توانید با تنظیم visible روی false ، چند خط را خاموش کنید.

مثال

جاوا

// 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);

کاتلین

// 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)

مسیر فعال و باقی مانده

با فعال بودن Trip and Order Progress، برنامه شما می تواند تجربه کاربر را با استفاده از چند خطی که وسایل نقلیه شما را فعال و مسیر باقی مانده را نشان می دهد، سفارشی کند.

مسیر فعال مسیری است که وسیله نقلیه در حال حاضر برای رسیدن به ایستگاه بعدی در سفر فعال مصرف کننده طی می کند. مسیر باقی مانده مسیری است که وسیله نقلیه از مسیر فعال عبور می کند. هنگامی که نقطه بین مسیر فعال آخرین نقطه بین سفر باشد، مسیر باقیمانده وجود ندارد.

چند خطوط فعال و باقیمانده را می توان سفارشی کرد و قابلیت مشاهده توسط برنامه شما کنترل می شود. به طور پیش فرض مسیر فعال قابل مشاهده است و مسیر باقی مانده قابل مشاهده نیست.

مثال

جاوا

// 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);

کاتلین

// 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 ارسال می‌شود.

مثال

جاوا

// 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);

کاتلین

// 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)

تنظیم زوم دوربین برای تمرکز بر یک سفر

دکمه پیش‌فرض My Location که در Maps SDK تعبیه شده است، دوربین را روی مکان دستگاه متمرکز می‌کند. اگر جلسه پیشرفت سفر و سفارش فعال است، ممکن است بخواهید دوربین را در مرکز قرار دهید تا به جای مکان دستگاه، روی سفر تمرکز کند.

راه حل داخلی SDK مصرف کننده برای Android: AutoCamera

برای اینکه بتوانید به جای مکان دستگاه روی سفر تمرکز کنید، Consumer SDK یک ویژگی AutoCamera را ارائه می دهد که به طور پیش فرض فعال است. دوربین زوم می‌کند تا روی مسیر پیشرفت سفر و سفارش و ایستگاه بعدی سفر فوکوس کند.

سفارشی کردن رفتار دوربین

اگر به کنترل بیشتری بر رفتار دوربین نیاز دارید، می‌توانید AutoCamera را با استفاده از ConsumerController.setAutoCameraEnabled() غیرفعال یا فعال کنید.

ConsumerController.getCameraUpdate() محدوده های توصیه شده دوربین را در آن لحظه برمی گرداند. سپس می توانید این CameraUpdate به عنوان یک آرگومان برای GoogleMap.moveCamera() یا GoogleMap.animateCamera() ارائه دهید.

،

کلاس ConsumerMapStyle دارای متدهای تنظیم کننده و دریافت کننده است که سفارشی سازی پویا را برای نشانگرها و چند خط به شما ارائه می دهد. این کلاس به صورت ناهمزمان با استفاده از متد ConsumerController.getConsumerMapStyle() نمایش داده می شود.

سفارشی‌سازی UI در تمام چرخش‌های دستگاه ادامه دارد و تا زمانی که ConsumerController جدا نشود به قوت خود باقی می‌ماند.

نشانگرهای سفارشی

روش تنظیم نوع نشانگر و خصوصیات آن ConsumerMapStyle.setMarkerStyleOptions() است. گزینه های نشانگر سفارشی شما مقادیر پیش فرض ارائه شده توسط Consumer SDK را لغو می کند. برای بازیابی مقادیر پیش فرض، setMarkerStyleOptions() را با استفاده از null برای پارامتر MarkerOptions فراخوانی کنید. MarkerOptions فعال را با استفاده از getMarkerStyleOptions() بازیابی کنید.

انواع نشانگر

نشانگرهای زیر برای سفارشی سازی در دسترس هستند:

  • TRIP_PICKUP_POINT
  • TRIP_DROPOFF_POINT
  • TRIP_INTERMEDIATE_DESTINATION
  • TRIP_VEHICLE

نمایش TRIP_PICKUP_POINT و TRIP_DROPOFF_POINT در حین نظارت بر سفر.

TRIP_VEHICLE در حین نظارت بر سفر نمایش داده می شود. نماد نشانگر با توجه به نوع وسیله نقلیه واقعی برای سفر تغییر نمی کند. Consumer SDK چرخش نماد TRIP_VEHICLE را در حین نظارت بر سفر به‌روزرسانی می‌کند تا رفتار خودروی واقعی را در حین حرکت در مسیر تقلید کند.

گزینه های نشانگر

ویژگی های قابل تنظیم موجود برای هر نشانگر مجموعه ای از ویژگی های ارائه شده توسط Google Maps MarkerOptions است.

MarkerOptions با استفاده از سازنده آن ساخته می‌شود و ویژگی‌های سفارشی‌شده با استفاده از روش‌های سبک «Setter» مشخص می‌شوند. مقادیر پیش فرض برای هر ویژگی ارائه شده است، بنابراین شما فقط باید مقادیر سفارشی را مشخص کنید.

می‌توانید با تنظیم visible false ، نشانگر را خاموش کنید. داده های کافی باید ارائه شود تا بتوانید از عنصر UI خود در جای خود استفاده کنید.

مثال

جاوا

// 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);

کاتلین

// 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)

چند خط سفارشی

سفارشی سازی Polyline با استفاده از روش ConsumerMapStyle.setPolylineStyleOptions تنظیم می شود. تنظیم گزینه های چند خط سفارشی، مقادیر پیش فرض ارائه شده توسط Consumer SDK را لغو می کند. مقادیر پیش فرض را می توان با فراخوانی setPolylineStyleOptions با null برای پارامتر PolylineOptions بازیابی کرد. PolylineOptions فعال را می توان با استفاده از روش getPolylineStyleOptions بازیابی کرد.

انواع پلی لاین

انواع چند خط زیر برای سفارشی سازی در دسترس هستند:

  • ACTIVE_ROUTE
  • REMAINING_ROUTE

ACTIVE_ROUTE و REMAINING_ROUTE در حین نظارت بر سفر نمایش داده می‌شوند و مسیر خودرو را نشان می‌دهند.

ویژگی های پلی لاین

ویژگی های قابل سفارشی سازی موجود برای هر چند خط توسط Google Maps PolylineOptions ارائه شده است. PolylineOptions با استفاده از سازنده آن ساخته می‌شود و ویژگی‌های سفارشی‌شده با استفاده از روش‌های سبک «Setter» مشخص می‌شوند. مقادیر پیش فرض برای هر ویژگی ارائه شده است، بنابراین شما فقط باید مقادیر سفارشی را مشخص کنید. می‌توانید با تنظیم visible روی false ، چند خط را خاموش کنید.

مثال

جاوا

// 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);

کاتلین

// 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)

مسیر فعال و باقی مانده

با فعال بودن Trip and Order Progress، برنامه شما می تواند تجربه کاربر را با استفاده از چند خطی که وسایل نقلیه شما را فعال و مسیر باقی مانده را نشان می دهد، سفارشی کند.

مسیر فعال مسیری است که وسیله نقلیه در حال حاضر برای رسیدن به ایستگاه بعدی در سفر فعال مصرف کننده طی می کند. مسیر باقی مانده مسیری است که وسیله نقلیه از مسیر فعال عبور می کند. هنگامی که نقطه بین مسیر فعال آخرین نقطه بین سفر باشد، مسیر باقیمانده وجود ندارد.

چند خطوط فعال و باقیمانده را می توان سفارشی کرد و قابلیت مشاهده توسط برنامه شما کنترل می شود. به طور پیش فرض مسیر فعال قابل مشاهده است و مسیر باقی مانده قابل مشاهده نیست.

مثال

جاوا

// 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);

کاتلین

// 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 ارسال می‌شود.

مثال

جاوا

// 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);

کاتلین

// 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)

تنظیم زوم دوربین برای تمرکز بر یک سفر

دکمه پیش‌فرض My Location که در Maps SDK تعبیه شده است، دوربین را روی مکان دستگاه متمرکز می‌کند. اگر جلسه پیشرفت سفر و سفارش فعال است، ممکن است بخواهید دوربین را در مرکز قرار دهید تا به جای مکان دستگاه، روی سفر تمرکز کند.

راه حل داخلی SDK مصرف کننده برای Android: AutoCamera

برای اینکه بتوانید به جای مکان دستگاه روی سفر تمرکز کنید، Consumer SDK یک ویژگی AutoCamera را ارائه می دهد که به طور پیش فرض فعال است. دوربین زوم می‌کند تا روی مسیر پیشرفت سفر و سفارش و ایستگاه بعدی سفر فوکوس کند.

سفارشی کردن رفتار دوربین

اگر به کنترل بیشتری بر رفتار دوربین نیاز دارید، می‌توانید AutoCamera را با استفاده از ConsumerController.setAutoCameraEnabled() غیرفعال یا فعال کنید.

ConsumerController.getCameraUpdate() محدوده های توصیه شده دوربین را در آن لحظه برمی گرداند. سپس می توانید این CameraUpdate به عنوان یک آرگومان برای GoogleMap.moveCamera() یا GoogleMap.animateCamera() ارائه دهید.