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