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