نقل البيانات تخصيص الإصدار 1.0 من حزمة تطوير البرامج (SDK) للمستهلكين في Android

تخصيص العلامات

في الإصدارات السابقة من حزمة Consumer SDK، كنت تستخدم العنصر MarkerStyleOptions في حزمة Consumer SDK لتخصيص خصائص نمط العلامة. في الإصدار 1.0 من حزمة Consumer SDK، يمكنك استخدام العنصر MarkerOptions مباشرةً من حزمة Maps SDK.

// Centering the marker anchor at (0.5, 0.5) is recommended.
// For vehicle markers, set flat to true to allow the vehicle marker to freely
// rotate flat on the map (rather than always have it face the camera).
MarkerOptions vehicleMarkerOptions = new MarkerOptions()
    .flat(true)
    .anchor(0.5f, 0.5f)
    .icon(vehicleIcon)
    .zIndex(1.0f);
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE);

تعرض ConsumerMapStyle خيارات النمط التلقائية التي تحدّدها حزمة SDK لنوع علامة معيّن إذا لم يتم ضبط النمط بعد أو إذا تم ضبط خيارات النمط على null.

// ConsumerMapStyle returns the SDK-set default style options if none has been set yet.
MarkerOptions defaultPickupPointStyleOptions = consumerMapStyle.getMarkerStyleOptions(MarkerType.PICKUP_POINT);

// Setting the style to null reverts the style back to the SDK-set default properties.
consumerMapStyle.setMarkerStyleOptions(MarkerType.PICKUP_POINT, /* markerStyleOptions= */ null);
MarkerOptions defaultPickupPointStyleOptions = consumerMapStyle.getMarkerStyleOptions(MarkerType.PICKUP_POINT);

إذا كنت لا تريد إنشاء نمط جديد من البداية، يمكنك تعديل النمط التلقائي. يعدّل المثال التالي رمز الالتقاط فقط ويستخدم الإعدادات التلقائية لحزمة SDK لبقية خيارات العلامة.

// getMarkerStyleOptions returns the default pickup point style options, since
// the custom style hasn't been set yet.
MarkerOptions pickupPointStyleOptions =
  consumerMapStyle.getMarkerStyleOptions(MarkerType.PICKUP_POINT);
// Modify the icon value and set the style.
consumerMapStyle.setMarkerStyleOptions(
  pickupPointStyleOptions.icon(pickupPointIcon));

تخصيص الخطوط المتعدّدة

في الإصدارات السابقة من حزمة Consumer SDK، كنت تستخدم العنصر PolylineStyleOptions في حزمة Consumer SDK لتخصيص خصائص نمط الخط المتعدّد. في الإصدار 1.0 من حزمة Consumer SDK، يمكنك استخدام العنصر PolylineOptions من حزمة Maps SDK لتخصيص خصائص نمط الخط المتعدّد الأساسي والعنصر TrafficStyle لتخصيص ألوان حركة المرور للخط المتعدّد.

تتوفّر الخطوط المتعدّدة لحركة المرور في الإصدار الأولي من حزمة Consumer SDK v1.0. إذا كانت حركة المرور مرئية، يتم استبدال لون الخط المتعدّد الأساسي بألوان حركة المرور. لا تكون حركة المرور مرئية تلقائيًا. يتم ملء الحقول في TrafficStyle التي لم يتم ضبطها بالقيم التلقائية التي تحدّدها حزمة SDK.

// PolylineOptions is from Maps SDK
PolylineOptions polylineOptions = new PolylineOptions()
  .color(color)
  .width(width)
  .geodesic(geodesic)
  .startCap(startCap)
  .endCap(endCap)
  .zIndex(zIndex);
consumerMapStyle.setPolylineStyleOptions(
  PolylineType.ACTIVE_ROUTE, polylineOptions);

// TrafficStyle is from ConsumerSDK
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);

تعرض ConsumerMapStyle خيارات النمط التلقائية لحزمة SDK لنوع خط متعدّد معيّن إذا لم يتم ضبط أي خيار بعد، أو إذا تم ضبط خيارات النمط على null. ينطبق ذلك على كلٍّ من PolylineOptions الأساسي وTrafficStyle.

// ConsumerMapStyle returns the SDK's default style options if none has been set yet.
PolylineOptions defaultActiveRouteStyleOptions = consumerMapStyle.getPolylineStyleOptions(PolylineType.ACTIVE_ROUTE);

// Setting the style to null reverts the style back to the SDK-set default properties.
consumerMapStyle.setPolylineStyleOptions(
  PolylineType.ACTIVE_ROUTE, /* polylineStyleOptions= */ null);
PolylineOptions defaultActiveRouteStyleOptions =
  consumerMapStyle.getPolylineStyleOptions(PolylineType.ACTIVE_ROUTE);

إذا كنت لا تريد إنشاء نمط جديد من البداية، يمكنك تعديل النمط التلقائي. يعدّل المثال التالي لون الخط المتعدّد الأساسي للطريق النشط فقط، ويستخدم إعدادات النمط التلقائية لحزمة SDK لبقية خيارات العلامة.

// Only customize the remaining route polyline color.
PolylineOptions remainingRouteStyleOptions =
     consumerMapStyle.getPolylineStyleOptions(PolylineType.REMAINING_ROUTE);
consumerMapStyle.setPolylineStyleOptions(
  remainingRouteStyleOptions.color(Color.DARK_BLUE));