Dostosowywanie znacznika
W starszych wersjach pakietu Consumer SDK do dostosowywania właściwości stylu markera używano obiektu MarkerStyleOptions pakietu Consumer SDK. W pakiecie SDK dla konsumentów w wersji 1.0 bezpośrednio używasz obiektu MarkerOptions z pakietu Maps SDK.
// 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 zwraca domyślne opcje stylu określone przez pakiet SDK dla danego typu znacznika, jeśli styl nie został jeszcze ustawiony lub jeśli opcje stylu zostały ustawione na 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);
Jeśli nie chcesz tworzyć nowego stylu od zera, możesz zmodyfikować styl domyślny. W przykładzie poniżej zmodyfikowano tylko ikonę odbioru, a w przypadku pozostałych opcji znacznika użyto ustawień domyślnych pakietu SDK.
// 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));
Dostosowywanie linii łamanej
W starszych wersjach pakietu Consumer SDK do dostosowywania właściwości stylu linii łamanej używano obiektu PolylineStyleOptions pakietu Consumer SDK. W pakiecie Consumer SDK w wersji 1.0 do dostosowywania podstawowych właściwości stylu linii łamanej używasz obiektu PolylineOptions z pakietu Maps SDK, a do dostosowywania kolorów linii łamanej w zależności od natężenia ruchu – obiektu TrafficStyle.
Linie łamane ruchu są dostępne w wersji alfa pakietu Consumer SDK 1.0. Jeśli ruch jest widoczny, podstawowy kolor linii łamanej jest zastępowany kolorami ruchu. Ruch nie jest domyślnie widoczny. Pola w TrafficStyle, które nie są ustawione, są wypełniane domyślnymi wartościami określonymi przez pakiet 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 zwraca domyślne opcje stylu pakietu SDK dla danego typu linii łamanej, jeśli nie zostały jeszcze ustawione lub jeśli opcje stylu są ustawione na null. Dotyczy to zarówno podstawowej wersji PolylineOptions, jak i wersji 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);
Jeśli nie chcesz tworzyć nowego stylu od zera, możesz zmodyfikować styl domyślny. W tym przykładzie zmieniono tylko kolor podstawowej polilinii aktywnej trasy, a w przypadku pozostałych opcji znacznika użyto domyślnych ustawień stylu pakietu SDK.
// Only customize the remaining route polyline color.
PolylineOptions remainingRouteStyleOptions =
consumerMapStyle.getPolylineStyleOptions(PolylineType.REMAINING_ROUTE);
consumerMapStyle.setPolylineStyleOptions(
remainingRouteStyleOptions.color(Color.DARK_BLUE));