Personnalisation de la version 1.0 du SDK consommateur pour Android

Personnalisation des repères

Dans les versions antérieures du SDK Consumer, vous utilisiez l'objet MarkerStyleOptions du SDK Consumer pour personnaliser les propriétés de style des repères. Dans le SDK Consumer v1.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 ramassage et utilise les paramètres par défaut du SDK pour le reste des 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 antérieures du SDK Consumer, vous utilisiez l'objet PolylineStyleOptions du SDK Consumer pour personnaliser les propriétés de style de la polyligne. Dans le SDK Consumer v1.0, vous utilisez l'objet PolylineOptions du SDK Maps pour personnaliser les propriétés de style de base des polylignes et l'objet TrafficStyle pour personnaliser les couleurs de circulation des polylignes.

Les polylignes de trafic sont disponibles dans la variante alpha du SDK Consumer v1.0. Si le trafic est visible, la couleur de la polyligne de base est remplacée par les couleurs de trafic. Le trafic n'est pas visible par défaut. Les champs de TrafficStyle qui ne sont pas définis sont renseignés par des 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 à la PolylineOptions de base et à la 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 la polyligne de base de l'itinéraire actif et utilise les paramètres de style par défaut du SDK pour le reste des 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));