การปรับแต่งเครื่องหมาย
ใน Consumer SDK เวอร์ชันก่อนหน้า คุณใช้ออบเจ็กต์ MarkerStyleOptions
ของ Consumer SDK เพื่อปรับแต่งพร็อพเพอร์ตี้รูปแบบเครื่องหมาย ใน Consumer SDK v1.0 คุณจะใช้ออบเจ็กต์ MarkerOptions
จาก Maps SDK โดยตรง
// 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
จะแสดงตัวเลือกรูปแบบเริ่มต้นที่ SDK ระบุสำหรับประเภทเครื่องหมายที่ระบุหากยังไม่ได้ตั้งค่ารูปแบบหรือหากตั้งค่าตัวเลือกรูปแบบเป็น 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);
หากไม่ต้องการสร้างสไตล์ใหม่ตั้งแต่ต้น คุณสามารถแก้ไขสไตล์เริ่มต้นได้ ตัวอย่างต่อไปนี้จะปรับเปลี่ยนเฉพาะไอคอนการรับสินค้าและใช้การตั้งค่าเริ่มต้นของ 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));
การปรับแต่งเส้นประกอบ
ใน Consumer SDK เวอร์ชันก่อนหน้า คุณใช้ออบเจ็กต์ PolylineStyleOptions
ของ Consumer SDK เพื่อปรับแต่งพร็อพเพอร์ตี้สไตล์โพลีไลน์ ใน
Consumer SDK v1.0 คุณใช้ออบเจ็กต์ PolylineOptions
จาก Maps SDK เพื่อปรับแต่งพร็อพเพอร์ตี้ของสไตล์โพลีไลน์พื้นฐานและออบเจ็กต์ TrafficStyle
เพื่อปรับแต่งสีการจราจรแบบโพลีไลน์
เส้นการเข้าชมมีอยู่ในตัวแปรอัลฟ่าของ Consumer SDK v1.0 หากแสดงการเข้าชม สีเส้นประกอบพื้นฐานจะถูกลบล้างด้วยสีการเข้าชม การจราจรจะมองไม่เห็นโดยค่าเริ่มต้น ช่องใน TrafficStyle
ที่ไม่ได้ตั้งค่าจะได้รับการเติมข้อมูลตามค่าเริ่มต้นที่ระบุโดย 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
จะแสดงตัวเลือกรูปแบบเริ่มต้นของ SDK สำหรับประเภทโพลีไลน์ที่ระบุหากยังไม่ได้ตั้งค่า หรือหากตั้งค่าตัวเลือกรูปแบบเป็น null
ซึ่งจะมีผลกับทั้ง PolylineOptions
ฐานและ 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);
หากไม่ต้องการสร้างสไตล์ใหม่ตั้งแต่ต้น คุณสามารถแก้ไขสไตล์เริ่มต้นได้ ตัวอย่างต่อไปนี้จะแก้ไขเฉพาะสีเส้นประกอบเส้นทางที่มีการใช้งานฐาน และใช้การตั้งค่ารูปแบบเริ่มต้นของ SDK สำหรับตัวเลือกตัวทำเครื่องหมายที่เหลือ
// Only customize the remaining route polyline color.
PolylineOptions remainingRouteStyleOptions =
consumerMapStyle.getPolylineStyleOptions(PolylineType.REMAINING_ROUTE);
consumerMapStyle.setPolylineStyleOptions(
remainingRouteStyleOptions.color(Color.DARK_BLUE));