คลาส ConsumerMapStyle
มีเมธอด Setter และ Getter ที่ให้คุณปรับแต่งแบบไดนามิกสำหรับตัวทำเครื่องหมายและเส้นประกอบได้ คลาสนี้จะแสดงผลแบบไม่พร้อมกันโดยใช้เมธอด ConsumerController.getConsumerMapStyle()
การปรับแต่ง UI จะยังคงอยู่ในการหมุนอุปกรณ์และยังคงมีผลจนกว่าจะถอด ConsumerController
ออก
เครื่องหมายที่กำหนดเอง
วิธีตั้งประเภทเครื่องหมายและคุณสมบัติของเครื่องหมายคือ ConsumerMapStyle.setMarkerStyleOptions()
ตัวเลือกเครื่องหมายที่กำหนดเองจะลบล้างค่าเริ่มต้นที่ Consumer SDK ระบุไว้
หากต้องการคืนค่าเริ่มต้น ให้เรียก setMarkerStyleOptions()
โดยใช้ Null สำหรับพารามิเตอร์ MarkerOptions
ดึงข้อมูล MarkerOptions
ที่ใช้งานอยู่
โดยใช้
getMarkerStyleOptions()
ประเภทเครื่องหมาย
เครื่องหมายต่อไปนี้สามารถปรับแต่งได้
TRIP_PICKUP_POINT
TRIP_DROPOFF_POINT
TRIP_INTERMEDIATE_DESTINATION
TRIP_VEHICLE
TRIP_PICKUP_POINT
และ TRIP_DROPOFF_POINT
แสดงระหว่างการตรวจสอบการเดินทาง
TRIP_VEHICLE
จะปรากฏขึ้นระหว่างการตรวจสอบการเดินทาง ไอคอนเครื่องหมายจะไม่เปลี่ยนแปลง
ตามประเภทยานพาหนะจริงสำหรับการเดินทาง Consumer SDK จะอัปเดตการหมุนไอคอน TRIP_VEHICLE
ในระหว่างการตรวจสอบการเดินทางเพื่อเลียนแบบลักษณะการทำงานของยานพาหนะจริงขณะที่เดินทางในเส้นทาง
ตัวเลือกเครื่องหมาย
พร็อพเพอร์ตี้ที่ปรับแต่งได้สำหรับเครื่องหมายแต่ละรายการคือชุดที่พักที่ Google Maps MarkerOptions
มีให้
MarkerOptions
สร้างขึ้นโดยใช้ตัวสร้าง และจะมีการระบุคุณสมบัติที่กำหนดเองโดยใช้เมธอดรูปแบบ "ตัวตั้งค่า"
ค่าเริ่มต้นมีไว้เพื่อระบุพร็อพเพอร์ตี้แต่ละรายการ ฉะนั้นคุณเพียงแค่ระบุค่าที่กำหนดเองเท่านั้น
คุณปิดเครื่องหมายได้โดยการตั้งค่า visible
เป็น false
ควรให้ข้อมูลที่เพียงพอเพื่อให้คุณใช้องค์ประกอบ UI ของตัวเองแทนได้
ตัวอย่าง
Java
// Initializing marker options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setMarkerStyleOptions(
MarkerType.TRIP_VEHICLE,
new MarkerOptions()
.visible(false));
});
// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null);
Kotlin
// Initializing marker options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, MarkerOptions().visible(false))
})
// Reset marker options to default values.
consumerMapStyle.setMarkerStyleOptions(MarkerType.TRIP_VEHICLE, null)
เส้นประกอบที่กำหนดเอง
การปรับแต่งเส้นประกอบจะกำหนดโดยใช้เมธอด ConsumerMapStyle.setPolylineStyleOptions
การตั้งค่าตัวเลือกเส้นประกอบที่กำหนดเองจะลบล้างค่าเริ่มต้นที่ Consumer SDK ระบุไว้ คุณกู้คืนค่าเริ่มต้นได้โดยเรียกใช้ setPolylineStyleOptions
ที่มีค่า Null สำหรับพารามิเตอร์ PolylineOptions
คุณดึงข้อมูล PolylineOptions
ที่ใช้งานอยู่ได้โดยใช้เมธอด getPolylineStyleOptions
ประเภทเส้นประกอบ
ประเภทเส้นประกอบที่คุณปรับแต่งได้มีดังนี้
ACTIVE_ROUTE
REMAINING_ROUTE
ACTIVE_ROUTE
และ REMAINING_ROUTE
จะปรากฏขึ้นระหว่างการตรวจสอบการเดินทางและจะแสดงเส้นทางของยานพาหนะ
คุณสมบัติของโพลีไลน์
พร็อพเพอร์ตี้ที่ปรับแต่งได้ของแต่ละเส้นจะให้บริการโดย Google Maps PolylineOptions
PolylineOptions
สร้างขึ้นโดยใช้ตัวสร้าง และจะมีการระบุคุณสมบัติที่กำหนดเองโดยใช้เมธอดรูปแบบ "ตัวตั้งค่า" ค่าเริ่มต้นจะให้ไว้สำหรับแต่ละพร็อพเพอร์ตี้ ฉะนั้นคุณเพียงแค่ระบุค่าที่กำหนดเองเท่านั้น
คุณปิดเส้นประกอบได้โดยตั้งค่า visible
เป็น false
ตัวอย่าง
Java
// Initializing polyline style options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.visible(false));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().visible(false)
)
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
เส้นทางที่ใช้งานอยู่และเส้นทางที่เหลือ
เมื่อเปิดใช้การเดินทางและความคืบหน้าในคำสั่งซื้อ แอปจะปรับประสบการณ์ของผู้ใช้ได้โดยใช้โพลีไลน์ที่แสดงให้เห็นรถที่ใช้งานอยู่และเส้นทางที่เหลือ
เส้นทางที่ใช้งานอยู่คือเส้นทางที่รถกำลังเดินทางเพื่อไปถึงจุดอ้างอิงถัดไปในการเดินทางของผู้บริโภคในปัจจุบัน เส้นทางที่เหลือคือเส้นทางที่รถวิ่งผ่านเส้นทางที่มีการใช้งานอยู่ เมื่อจุดอ้างอิงที่ใช้งานอยู่คือจุดอ้างอิงสุดท้ายของการเดินทาง เส้นทางที่เหลือจะหายไป
คุณสามารถปรับแต่งเส้นประกอบที่ใช้งานอยู่และเส้นที่เหลือได้ รวมถึงให้แอปควบคุมการมองเห็นได้ โดยค่าเริ่มต้นจะแสดงเส้นทางที่ใช้งานอยู่และไม่แสดงเส้นทางที่เหลือ
ตัวอย่าง
Java
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.color(Color.BLUE));
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
new PolylineOptions()
.color(Color.BLACK)
.width(5)
.visible(true));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
{
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().color(Color.BLUE)
)
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
PolylineOptions().color(Color.BLACK).width(5).visible(true)
)
}
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)
โพลีไลน์ที่รับรู้การจราจร
เลเยอร์การจราจรของเส้นประกอบจะถูกปิดใช้โดยค่าเริ่มต้น เมื่อเปิดใช้ ส่วนที่แสดงการเข้าชมที่ไม่ใช่ปกติจะวาดทับเส้นประกอบของเส้นทางใน z-index PolylineOptions.getZIndex() บวกด้วยค่าชดเชยโดยขึ้นอยู่กับสภาพการจราจร
สภาพการจราจรจะแสดงเป็นความเร็ว 4 ประเภท คุณสามารถปรับแต่งสีสำหรับความเร็วแต่ละประเภทได้
หากต้องการเปิดใช้ "เส้นประกอบที่รับรู้การจราจร" คุณต้องสร้างออบเจ็กต์ TrafficStyle
ซึ่งจะส่งไปยัง ConsumerMapStyle
โดยการเรียกใช้ setPolylineTrafficStyle()
ตัวอย่าง
Java
// TrafficStyle is part of the Consumer SDK.
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);
Kotlin
// TrafficStyle is part of the Consumer SDK.
val 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)
ปรับการซูมของกล้องเพื่อโฟกัสการเดินทาง
ปุ่มตำแหน่งของฉันเริ่มต้นที่มีอยู่ใน Maps SDK จะจัดตำแหน่งกล้องให้อยู่ตรงกลางตำแหน่งของอุปกรณ์ หากมีเซสชัน "การเดินทาง" และ "ความคืบหน้าของคำสั่งซื้อ" ที่ใช้งานอยู่ คุณอาจต้องจัดกล้องให้อยู่ตรงกลางเพื่อโฟกัสที่การเดินทางแทนตำแหน่งของอุปกรณ์
SDK สำหรับผู้บริโภคสำหรับโซลูชันในตัวของ Android: Autocamera
Consumer SDK จึงมีฟีเจอร์ Autocamera ที่เปิดใช้โดยค่าเริ่มต้นเพื่อให้คุณโฟกัสกับการใช้งานแทนที่ตำแหน่งอุปกรณ์ กล้องจะซูมเพื่อโฟกัสที่เส้นทางการเดินทางและความคืบหน้าของคำสั่งซื้อ รวมถึงจุดอ้างอิงในการเดินทางถัดไป
การปรับแต่งลักษณะการทำงานของกล้อง
หากต้องการควบคุมลักษณะการทำงานของกล้องได้มากขึ้น คุณสามารถปิดหรือเปิดใช้
Autocamera โดยใช้ ConsumerController.setAutoCameraEnabled()
ConsumerController.getCameraUpdate()
แสดงขอบเขตกล้องที่แนะนำในเวลานั้น จากนั้นคุณจะระบุ CameraUpdate
นี้เป็นอาร์กิวเมนต์ให้กับ GoogleMap.moveCamera()
หรือ GoogleMap.animateCamera()
ได้