Migração para SDK de consumidor do Android v1.0 Personalização

Personalização de marcadores

Nas versões anteriores do SDK do consumidor, você usava o objeto MarkerStyleOptions do SDK do consumidor para personalizar as propriedades de estilo do marcador. No SDK do consumidor v1.0, você usa diretamente o objeto MarkerOptions do SDK do 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 retorna as opções de estilo padrão especificadas pelo SDK para um determinado tipo de marcador se o estilo ainda não tiver sido definido ou se as opções de estilo tiverem sido definidas como 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 você não quiser criar um estilo do zero, modifique o estilo padrão. O exemplo a seguir modifica apenas o ícone de retirada e usa as configurações padrão do SDK para o restante das opções de marcador.

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

Personalização de polilinha

Nas versões anteriores do SDK do consumidor, você usava o objeto PolylineStyleOptions do SDK do consumidor para personalizar as propriedades de estilo de polilinha. No SDK do consumidor v1.0, você usa o objeto PolylineOptions do SDK do Maps para personalizar as propriedades de estilo de polilinha básica e o objeto TrafficStyle para personalizar as cores de tráfego de polilinha.

As polilinhas de tráfego estão disponíveis na variante Alfa do SDK do consumidor v1.0. Se o tráfego estiver visível, a cor da polilinha de base será substituída pelas cores de tráfego. O tráfego não fica visível por padrão. Os campos em TrafficStyle que não forem definidos são preenchidos com valores padrão especificados pelo 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 retorna as opções de estilo padrão do SDK para um determinado tipo de poligonal se nenhuma tiver sido definida ou se as opções de estilo forem definidas como null. Isso se aplica ao PolylineOptions base e ao 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 você não quiser criar um estilo do zero, modifique o estilo padrão. O exemplo a seguir modifica apenas a cor da poligonal da rota ativa de base e usa as configurações de estilo padrão do SDK para o restante das opções de marcador.

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