התאמה אישית של הסמן
בגרסאות קודמות של Consumer SDK, השתמשתם באובייקט MarkerStyleOptions של Consumer SDK כדי להתאים אישית את מאפייני הסגנון של סמנים. ב-Consumer SDK v1.0, משתמשים ישירות באובייקט 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 עבור סוג סמן נתון, אם הסגנון עדיין לא הוגדר או אם אפשרויות הסגנון הוגדרו ל-ConsumerMapStyle.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 כדי להתאים אישית מאפייני סגנון של קו פוליגוני. ב-Consumer SDK גרסה 1.0, משתמשים באובייקט 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));