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