İşaretçi Özelleştirme
Consumer SDK'nın önceki sürümlerinde, işaretçi stil özelliklerini özelleştirmek için Consumer SDK'nın MarkerStyleOptions
nesnesini kullanıyordunuz. Consumer SDK v1.0'da, Haritalar SDK'sından 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ştirilmekte ve işaretçi seçeneklerinin geri kalanı için SDK'nın varsayılan ayarları kullanılmaktadı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
Consumer SDK'nın önceki sürümlerinde, çoklu çizgi stil özelliklerini özelleştirmek için Consumer SDK'nın PolylineStyleOptions
nesnesini kullanıyordunuz. Consumer SDK v1.0'da, temel çoklu çizgi stili özelliklerini özelleştirmek için Maps SDK'daki PolylineOptions
nesnesini, çoklu çizgi trafik renklerini özelleştirmek için ise TrafficStyle
nesnesini kullanırsınız.
Trafik çoklu çizgileri, Consumer SDK v1.0'ın alfa sürümünde kullanılabilir. Trafik görünürse temel çoklu çizgi rengi, trafik renkleriyle geçersiz kılınır. Trafik bilgileri varsayılan olarak görünmez. TrafficStyle
içindeki 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 çoklu çizgi türü için SDK'nın varsayılan stil seçeneklerini döndürür. Bu durum hem temel 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 aktif rota çoklu çizgi rengi değiştirilir ve işaretçi seçeneklerinin geri kalanı 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));