התאמה אישית של גרסה 1.0 של Android Consumer SDK

התאמה אישית של סמנים

בגרסאות הקודמות של ה-SDK לצרכנים השתמשת בערכות SDK לצרכנים אובייקט MarkerStyleOptions להתאמה אישית של המאפיינים של סגנון הסמן. לצרכן ב-SDK גרסה 1.0, צריך להשתמש באובייקט 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 לצרכנים השתמשת בערכות SDK לצרכנים אובייקט PolylineStyleOptions להתאמה אישית של מאפיינים של סגנון קו פוליגוני. לחשבון SDK צרכני גרסה 1.0, נעשה שימוש באובייקט PolylineOptions מ-Maps SDK כדי להתאים אישית את מאפייני הסגנון של קו פוליגוני בסיסי ואת TrafficStyle להתאמה אישית של צבעי התנועה של קו פוליגוני.

קווים פוליגוניים של תנועה זמינים בווריאנט אלפא של ה-SDK לצרכן גרסה 1.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));