Anpassung von Version 1 des Android Consumer SDK

Markierungsanpassung

In früheren Versionen des Consumer SDK haben Sie das MarkerStyleOptions-Objekt des Consumer SDK verwendet, um die Eigenschaften des Markierungsstils anzupassen. In Version 1.0 des Consumer SDK wird das MarkerOptions-Objekt aus dem Maps SDK direkt verwendet.

// 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 gibt die vom SDK angegebenen Standardstiloptionen für einen bestimmten Markierungstyp zurück, wenn der Stil noch nicht festgelegt wurde oder die Stiloptionen auf null gesetzt wurden.

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

Wenn Sie keinen neuen Stil von Grund auf neu erstellen möchten, können Sie den Standardstil ändern. Im folgenden Beispiel wird nur das Abholsymbol geändert und für die restlichen Markierungsoptionen werden die SDK-Standardeinstellungen verwendet.

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

Polylinienanpassung

In früheren Versionen des Consumer SDK haben Sie das PolylineStyleOptions-Objekt des Consumer SDK verwendet, um die Stileigenschaften von Polylinien anzupassen. In Version 1.0 des Consumer SDK wird das PolylineOptions-Objekt des Maps SDK verwendet, um die Basis-Stileigenschaften für Polylinien anzupassen, und das TrafficStyle-Objekt, um die Farben für den Traffic von Polylinien anzupassen.

Polylinien mit Verkehrsdaten sind in der Alpha-Variante des Consumer SDK Version 1.0 verfügbar. Wenn Zugriffe sichtbar sind, wird die Farbe der Basispolygone durch diese Farben überschrieben. Zugriffe werden standardmäßig nicht angezeigt. Felder in TrafficStyle, die nicht festgelegt sind, werden mit SDK-spezifischen Standardwerten ausgefüllt.

// 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 gibt die SDK-Standardstiloptionen für einen bestimmten Polylinientyp zurück, wenn noch keine festgelegt wurden oder wenn Stiloptionen auf null gesetzt sind. Dies gilt sowohl für den Basis-PolylineOptions als auch für den 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);

Wenn Sie keinen neuen Stil von Grund auf neu erstellen möchten, können Sie den Standardstil ändern. Im folgenden Beispiel wird nur die Farbe der Basislinie der aktiven Route geändert. Für die restlichen Markierungsoptionen werden die Standardstileinstellungen des SDK verwendet.

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