Personalização de marcadores
Nas versões anteriores do SDK para consumidor, o objeto MarkerStyleOptions
dele era usado 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
vai retornar 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 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 não quiser criar um novo estilo do zero, você poderá modificar 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 do 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 para consumidor, o objeto PolylineStyleOptions
dele era usado para personalizar as propriedades de estilo da polilinha. No SDK do consumidor v1.0, você usa o objeto PolylineOptions
do SDK do Maps para personalizar as propriedades de estilo de polilinha de base e o objeto TrafficStyle
para personalizar as cores do trânsito de polilinha.
As polilinhas de tráfego estão disponíveis na variante Alfa do SDK do Consumer v1.0. Se o trânsito estiver visível, a cor da polilinha de base será substituída pelas cores do trânsito. O tráfego não fica visível por padrão. Os campos em TrafficStyle
que não
estão definidos são preenchidos por 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
vai retornar as opções de estilo padrão do SDK para um determinado tipo de polilinha se nenhuma ainda tiver sido definida ou se as opções de estilo estiverem definidas como null
. Isso se aplica à 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 não quiser criar um novo estilo do zero, você poderá modificar o estilo padrão. O exemplo a seguir modifica apenas a cor da polilinha do trajeto ativo de base e usa as configurações de estilo padrão do SDK para o restante das opções do marcador.
// Only customize the remaining route polyline color.
PolylineOptions remainingRouteStyleOptions =
consumerMapStyle.getPolylineStyleOptions(PolylineType.REMAINING_ROUTE);
consumerMapStyle.setPolylineStyleOptions(
remainingRouteStyleOptions.color(Color.DARK_BLUE));