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