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

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

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

// 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 من حزمة تطوير البرامج (SDK) للمستهلكين، يمكنك استخدام العنصر PolylineOptions من حزمة تطوير البرامج (SDK) لـ "خرائط Google" لتخصيص خصائص نمط الخط المتعدد الأساسي والعنصر 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));