Dostosowanie pakietu SDK do Androida w wersji 1.0 do migracji

Dostosowywanie znaczników

We wcześniejszych wersjach pakietu Consumer SDK do dostosowywania właściwości stylu znacznika używano obiektu MarkerStyleOptions pakietu Consumer SDK. W pakiecie SDK dla klientów indywidualnych w wersji 1.0 możesz używać bezpośrednio obiektu MarkerOptions z pakietu SDK Map Google.

// 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 określone przez SDK opcje stylu domyślnego dla danego typu znacznika, jeśli styl nie został jeszcze ustawiony lub jeśli opcje stylu są 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 podstaw, możesz zmienić styl domyślny. W tym przykładzie zmienia się tylko ikona odbioru i w przypadku pozostałych opcji znaczników używa domyślnych ustawień 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 łamanych

We wcześniejszych wersjach pakietu Consumer SDK dostosowano właściwości stylu łamanego za pomocą obiektu PolylineStyleOptions pakietu Consumer SDK. W pakiecie SDK dla klientów indywidualnych w wersji 1.0 używasz obiektu PolylineOptions z pakietu SDK Map Google, aby dostosować właściwości stylu łamanej podstawowej, a obiektu TrafficStyle – do dostosowywania kolorów ruchu łamanego.

Linie łamane ruchu są dostępne w wersji alfa pakietu SDK dla konsumentów w wersji 1.0. Jeśli ruch jest widoczny, kolor podstawowej linii łamanej zostanie zastąpiony kolorami ruchu. Ruch jest domyślnie niewidoczny. Pola w TrafficStyle, które nie są skonfigurowane, są wypełniane wartościami domyślnymi 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 żaden typ nie został jeszcze ustawiony lub opcje stylu są ustawione na null. Dotyczy to zarówno podstawowego elementu PolylineOptions, jak i elementu 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 podstaw, możesz zmienić styl domyślny. W przykładzie poniżej zmienia się tylko kolor podstawowej aktywnej linii łamanej trasy, a w przypadku pozostałych opcji znaczników stosowane są domyślne ustawienia stylu z pakietu SDK.

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