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ı 1.0 sürümünde, Haritalar SDK'sındaki MarkerOptions nesnesini doğrudan 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);

ConsumerMapStyle, stil henüz ayarlanmamışsa veya stil seçenekleri null olarak ayarlanmışsa 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ştirilmiştir ve işaretçi seçeneklerinin geri kalanı için SDK'nın varsayılan ayarları kullanılmıştı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ı 1.0 sürümünde, temel çoklu çizgi stili özelliklerini özelleştirmek için Haritalar SDK'sındaki PolylineOptions nesnesini, çoklu çizgi trafik renklerini özelleştirmek için de TrafficStyle nesnesini kullanırsınız.

Trafik çoklu çizgileri, Tüketici SDK'sı 1.0 sürümünün alfa varyantında kullanılabilir. Trafik görünürse temel çoklu çizgi rengi, trafik renkleri tarafından geçersiz kılınır. Trafik varsayılan olarak görünmez. TrafficStyle alanında ayarlanmamış 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 ayarlanmamışsa veya stil seçenekleri null olarak ayarlanmışsa belirli bir çok çizgi türü için SDK'nın varsayılan stil seçeneklerini döndürür. Bu durum hem taban PolylineOptions 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 poli çizgisinin rengi değiştirilmiştir ve işaretçi seçeneklerinin geri kalanı için SDK'nın varsayılan stil ayarları kullanılmıştır.

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