Migración de SDK de Android Consumer SDK v1.0

Personalización de marcadores

En versiones anteriores del SDK para consumidores, usabas el objeto MarkerStyleOptions del SDK para consumidores para personalizar las propiedades de estilo de los marcadores. En la versión 1.0 del SDK de Consumer, usas directamente el objeto MarkerOptions del SDK de 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 devuelve las opciones de estilo predeterminadas especificadas por el SDK para un tipo de marcador determinado si aún no se estableció el estilo o si las opciones de estilo se establecieron en 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 no quieres crear un estilo nuevo desde cero, puedes modificar el estilo predeterminado. En el siguiente ejemplo, solo se modifica el ícono de retiro y se usa la configuración predeterminada del SDK para el resto de las opciones de marcadores.

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

Personalización de polilíneas

En versiones anteriores del SDK para consumidores, usabas el objeto PolylineStyleOptions del SDK para consumidores para personalizar las propiedades de estilo de las polilíneas. En el SDK de Consumer v1.0, usas el objeto PolylineOptions del SDK de Maps para personalizar las propiedades de estilo de polilínea base y el objeto TrafficStyle para personalizar los colores del tráfico de polilínea.

Las polilíneas de tráfico están disponibles en la variante alfa del SDK de Consumer v1.0. Si el tráfico es visible, el color de la polilínea base se anula por los colores del tráfico. De forma predeterminada, el tráfico no es visible. Los campos de TrafficStyle que no están configurados se completan con los valores predeterminados que especifica el 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 devuelve las opciones de diseño predeterminadas del SDK para un tipo de polilínea determinado si aún no se estableció ninguna o si las opciones de diseño se establecieron en null. Esto se aplica tanto al PolylineOptions base como al 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 no quieres crear un estilo nuevo desde cero, puedes modificar el estilo predeterminado. En el siguiente ejemplo, solo se modifica el color de la polilínea de la ruta activa base y se usa la configuración de estilo predeterminada del SDK para el resto de las opciones de marcador.

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