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

Personalización de marcadores

En versiones anteriores del SDK para consumidores, usaste el objeto MarkerStyleOptions del SDK para consumidores para personalizar las propiedades de estilo de los marcadores. En el SDK para consumidores v1.0, usas directamente el objeto MarkerOptions desde el 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 muestra las opciones de estilo predeterminado especificadas por el SDK para un tipo de marcador determinado si aún no se configuró 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 partida 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, usaste el objeto PolylineStyleOptions del SDK para consumidores para personalizar las propiedades de estilo de polilínea. En el SDK para consumidores v1.0, usas el objeto PolylineOptions del SDK de Maps para personalizar las propiedades de diseño de polilínea base y el objeto TrafficStyle para personalizar los colores de tráfico de la polilínea.

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

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