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