Personnalisation de la version 1.0 du SDK consommateur pour Android

Personnalisation des repères

Dans les versions précédentes du SDK client, vous avez utilisé l'objet MarkerStyleOptions de ce SDK pour personnaliser les propriétés du style du repère. Dans le SDK grand public 1.0, vous utilisez directement l'objet MarkerOptions à partir du 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 renvoie les options de style par défaut spécifiées par le SDK pour un type de repère donné si le style n'a pas encore été défini ou si les options de style ont été définies sur 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);

Si vous ne souhaitez pas créer un style à partir de zéro, vous pouvez modifier le style par défaut. L'exemple suivant ne modifie que l'icône de retrait et utilise les paramètres par défaut du SDK pour les autres options de repère.

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

Personnalisation des polylignes

Dans les versions précédentes du SDK client, vous avez utilisé l'objet PolylineStyleOptions de ce SDK pour personnaliser les propriétés du style de polyligne. Dans la version 1.0 du SDK Consumer, vous utilisez l'objet PolylineOptions du SDK Maps pour personnaliser les propriétés du style de polyligne de base, et l'objet TrafficStyle pour personnaliser les couleurs du trafic des polylignes.

Les polylignes de trafic sont disponibles dans la variante alpha du SDK consommateur v1.0. Si le trafic est visible, la couleur de la polyligne de base est remplacée par les couleurs du trafic. Le trafic n'est pas visible par défaut. Les champs de TrafficStyle qui ne sont pas définis sont renseignés par les valeurs par défaut spécifiées par le 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 renvoie les options de style par défaut du SDK pour un type de polyligne donné si aucune n'a encore été définie ou si les options de style sont définies sur null. Cela s'applique à la fois au PolylineOptions de base et à 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);

Si vous ne souhaitez pas créer un style à partir de zéro, vous pouvez modifier le style par défaut. L'exemple suivant ne modifie que la couleur de base de la polyligne active de l'itinéraire et utilise les paramètres de style par défaut du SDK pour les autres options de repère.

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