Personalizzazione per SDK Android Consumer v1.0

Personalizzazione dell'indicatore

Nelle versioni precedenti dell'SDK consumer, utilizzavi l'oggetto MarkerStyleOptions dell'SDK consumer per personalizzare le proprietà degli stili degli indicatori. Nella versione 1.0 dell'SDK consumer v1.0, utilizzi direttamente l'oggetto MarkerOptions dell'SDK Maps.

// 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 restituisce le opzioni di stile predefinite specificate dall'SDK per un determinato tipo di indicatore se lo stile non è stato ancora impostato o se le opzioni di stile sono state impostate su 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);

Se non vuoi creare un nuovo stile da zero, puoi modificare quello predefinito. L'esempio seguente modifica solo l'icona di ritiro e utilizza le impostazioni predefinite dell'SDK per le altre opzioni dell'indicatore.

// 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));

Personalizzazione di Polyline

Nelle versioni precedenti dell'SDK consumer, utilizzavi l'oggetto PolylineStyleOptions dell'SDK consumer per personalizzare le proprietà di stile della polilinea. In Consumer SDK v1.0, puoi usare l'oggetto PolylineOptions di Maps SDK per personalizzare le proprietà di stile della polilinea di base e l'oggetto TrafficStyle per personalizzare i colori del traffico delle polilinee.

Le polilinee del traffico sono disponibili nella variante alpha dell'SDK Consumer v1.0. Se il traffico è visibile, il colore di base della polilinea viene sostituito dai colori del traffico. Il traffico non è visibile per impostazione predefinita. I campi non impostati in TrafficStyle vengono compilati con i valori predefiniti specificati dall'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 restituisce le opzioni di stile predefinite dell'SDK per un determinato tipo di polilinea se non ne è ancora stata impostata nessuna o se le opzioni di stile sono impostate su null. Questo vale sia per i PolylineOptions di base che per 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);

Se non vuoi creare un nuovo stile da zero, puoi modificare quello predefinito. L'esempio seguente modifica solo il colore della polilinea della route attiva di base e utilizza le impostazioni di stile predefinite dell'SDK per le altre opzioni degli indicatori.

// Only customize the remaining route polyline color.
PolylineOptions remainingRouteStyleOptions =
     consumerMapStyle.getPolylineStyleOptions(PolylineType.REMAINING_ROUTE);
consumerMapStyle.setPolylineStyleOptions(
  remainingRouteStyleOptions.color(Color.DARK_BLUE));