Android Consumer SDK v1.0 Özelleştirme Taşıma

İşaretçi Özelleştirme

Tüketici SDK'sının önceki sürümlerinde, işaretçi stili özelliklerini özelleştirmek için Tüketici SDK'sının MarkerStyleOptions nesnesini kullanıyordunuz. Tüketici SDK'sı v1.0'da, doğrudan Haritalar SDK'sındaki MarkerOptions nesnesini kullanırsınız.

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

Stil henüz ayarlanmamışsa veya stil seçenekleri null olarak ayarlanmışsa ConsumerMapStyle, belirli bir işaretçi türü için SDK tarafından belirtilen varsayılan stil seçeneklerini döndürür.

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

Sıfırdan yeni bir stil oluşturmak istemiyorsanız varsayılan stili değiştirebilirsiniz. Aşağıdaki örnekte yalnızca teslim alma simgesi değiştirilir ve diğer işaretçi seçenekleri için SDK'nın varsayılan ayarları kullanılır.

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

Çoklu Çizgi Özelleştirme

Tüketici SDK'sının önceki sürümlerinde, çoklu çizgi stili özelliklerini özelleştirmek için Tüketici SDK'sının PolylineStyleOptions nesnesini kullanıyordunuz. Tüketici SDK'sı v1.0 sürümünde, temel çoklu çizgi stili özelliklerini özelleştirmek için Haritalar SDK'sındaki PolylineOptions nesnesini ve çoklu çizgi trafik renklerini özelleştirmek için TrafficStyle nesnesini kullanırsınız.

Trafik çoklu çizgileri, Tüketici SDK'sı v1.0 sürümünün alfa varyantında kullanılabilir. Trafik görünürse temel çoklu çizgi rengi trafik renkleri ile geçersiz kılınır. Trafik, varsayılan olarak görünür değildir. TrafficStyle alanında ayarlanmayan alanlar, SDK tarafından belirtilen varsayılan değerlerle doldurulur.

// 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, henüz hiç ayarlanmamışsa veya stil seçenekleri null olarak ayarlanmışsa belirli bir çoklu çizgi türü için SDK'nın varsayılan stil seçeneklerini döndürür. Bu, hem PolylineOptions tabanı hem de TrafficStyle için geçerlidir.

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

Sıfırdan yeni bir stil oluşturmak istemiyorsanız varsayılan stili değiştirebilirsiniz. Aşağıdaki örnekte yalnızca temel etkin rota çoklu çizgi rengi değiştirilir ve diğer işaretçi seçenekleri için SDK'nın varsayılan stil ayarları kullanılır.

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