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

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

في الإصدارات السابقة من حزمة تطوير البرامج (SDK) للمستهلكين، كان يتم استخدام عنصر MarkerStyleOptions لحزمة تطوير البرامج (SDK) للمستهلك لتخصيص خصائص نمط العلامة. في الإصدار 1.0 من حزمة تطوير البرامج (SDK) للمستهلك، يمكنك استخدام العنصر MarkerOptions مباشرةً من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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));

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

في الإصدارات السابقة من حزمة تطوير البرامج (SDK) للمستهلكين، كان يتم استخدام الكائن PolylineStyleOptions في "حزمة تطوير البرامج (SDK) للمستهلكين" لتخصيص خصائص الأنماط المتعددة. في الإصدار 1.0 من Conumer SDK، يمكنك استخدام الكائن PolylineOptions من حزمة تطوير البرامج (SDK) لـ "خرائط Google" لتخصيص سمات نمط الخطوط المتعددة الأساسية والكائن TrafficStyle لتخصيص ألوان حركة البيانات المتعددة الخطوط.

تتوفّر الخطوط المتعددة للزيارات في صيغة ألفا من الإصدار 1.0 من حزمة تطوير البرامج (SDK) للمستهلك، وفي حال كانت الزيارات مرئية، تتجاهل ألوان الزيارات الأساسية اللون. لا تكون الزيارات مرئية بشكلٍ تلقائي. إنّ الحقول التي لم يتم ضبطها في 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));