การใช้ Navigation SDK สำหรับ Android ช่วยให้คุณปรับเปลี่ยนประสบการณ์ของผู้ใช้กับแผนที่ได้โดยกำหนดว่าการควบคุมและองค์ประกอบ UI ในตัวรายการใดจะปรากฏบนแผนที่ นอกจากนี้ คุณยังปรับลักษณะที่ปรากฏของ UI การนำทางได้ด้วย โปรดดูหลักเกณฑ์เกี่ยวกับการปรับเปลี่ยน UI การนำทางที่ยอมรับได้ในหน้านโยบาย
เอกสารนี้อธิบายวิธีปรับเปลี่ยนอินเทอร์เฟซผู้ใช้ของแผนที่ได้ 2 วิธีดังนี้
การควบคุม UI ของแผนที่
หากต้องการวางองค์ประกอบ UI ที่กำหนดเองในมุมมองการนำทาง ให้ใช้ตัวควบคุม UI ของแผนที่เพื่อการจัดตำแหน่งที่เหมาะสม เมื่อเลย์เอาต์ในตัวมีการเปลี่ยนแปลง Navigation SDK สำหรับ Android จะเปลี่ยนตำแหน่งการควบคุมที่กำหนดเองโดยอัตโนมัติ คุณสามารถตั้งค่ามุมมองการควบคุมที่กำหนดเองได้ครั้งละ 1 รายการสำหรับแต่ละตำแหน่ง หากการออกแบบต้องใช้องค์ประกอบ UI หลายรายการ คุณสามารถวางองค์ประกอบเหล่านั้นใน ViewGroup แล้วส่งไปยังเมธอด setCustomControl
เมธอด setCustomControl
จะระบุตำแหน่งตามที่กำหนดไว้ในการแจงนับ CustomControlPosition
ดังนี้:
SECONDARY_HEADER(ปรากฏในโหมดแนวตั้งเท่านั้น)BOTTOM_START_BELOWBOTTOM_END_BELOWFOOTER
เพิ่มการควบคุมที่กำหนดเอง
- สร้าง มุมมอง Android ที่มีองค์ประกอบ UI หรือ ViewGroup ที่กำหนดเอง
- ขยาย XML หรือสร้างอินสแตนซ์ของมุมมองที่กำหนดเองเพื่อรับอินสแตนซ์ของมุมมอง
ใช้
NavigationView.setCustomControlหรือSupportNavigationFragment.setCustomControlกับตำแหน่งการควบคุมที่กำหนดเองที่เลือกจากCustomControlPositionenumตัวอย่างด้านล่างจะสร้าง Fragment และเพิ่มการควบคุมที่กำหนดเองในตำแหน่งส่วนหัวรอง
mNavFragment.setCustomControl(getLayoutInflater(). inflate(R.layout.your_custom_control, null), CustomControlPosition.SECONDARY_HEADER); ```
นำการควบคุมที่กำหนดเองออก
หากต้องการนำการควบคุมที่กำหนดเองออก ให้เรียกเมธอด setCustomControl ด้วยพารามิเตอร์มุมมอง null และตำแหน่งการควบคุมที่กำหนดเองที่เลือก
ตัวอย่างเช่น ข้อมูลโค้ดต่อไปนี้จะนำส่วนหัวรองที่กำหนดเองออกและกลับไปใช้เนื้อหาเริ่มต้น
mNavFragment.setCustomControl(null, CustomControlPosition.SECONDARY_HEADER);
ตำแหน่งการควบคุมที่กำหนดเอง
ส่วนหัวรอง
หากต้องการใช้ตำแหน่งการควบคุมที่กำหนดเองนี้ ให้ส่งตำแหน่ง CustomControlPosition.SECONDARY_HEADER ไปยัง setCustomControl
โดยค่าเริ่มต้น เลย์เอาต์หน้าจอในโหมดการไปยังส่วนต่างๆ จะมีตำแหน่งสำหรับส่วนหัวรองซึ่งอยู่ใต้ส่วนหัวหลัก ส่วนหัวรองนี้จะปรากฏขึ้นเมื่อจำเป็น เช่น เมื่อมีคำแนะนำช่องทาง แอปของคุณสามารถใช้ตำแหน่งส่วนหัวรองของเลย์เอาต์นี้สำหรับเนื้อหาที่กำหนดเองได้ เมื่อคุณใช้ฟีเจอร์นี้ การควบคุมจะครอบคลุมเนื้อหาส่วนหัวรองเริ่มต้น หากมุมมองการนำทางมีพื้นหลัง พื้นหลังนั้นจะยังคงอยู่และส่วนหัวรองจะครอบคลุมพื้นหลัง เมื่อแอปนำการควบคุมที่กำหนดเองออก ส่วนหัวรองเริ่มต้นจะปรากฏขึ้นแทน
ตำแหน่งส่วนหัวรองที่กำหนดเองจะจัดแนวขอบด้านบนให้ตรงกับขอบด้านล่างของส่วนหัวหลัก ระบบรองรับตำแหน่งนี้ใน portrait mode เท่านั้น ใน
landscape mode ส่วนหัวรองจะไม่พร้อมใช้งานและเลย์เอาต์จะไม่
เปลี่ยนแปลง
ด้านซ้ายล่าง
หากต้องการใช้ตำแหน่งการควบคุมที่กำหนดเองนี้ ให้ส่งตำแหน่ง CustomControlPosition.BOTTOM_START_BELOW ไปยัง setCustomControl
ตำแหน่งการควบคุมที่กำหนดเองนี้จะอยู่ที่มุมซ้ายล่างของแผนที่ ทั้งใน
portrait mode และ landscape mode ตำแหน่งนี้จะอยู่เหนือการ์ดเวลาถึงโดยประมาณและ/หรือส่วนท้ายที่กำหนดเอง (หรืออยู่ด้านล่างของแผนที่หากไม่มีการ์ดเวลาถึงโดยประมาณและส่วนท้ายที่กำหนดเอง) และองค์ประกอบ Nav SDK
รวมถึงปุ่มจัดกึ่งกลางและโลโก้ Google จะเลื่อนขึ้นเพื่อชดเชย
ความสูงของมุมมองการควบคุมที่กำหนดเอง การควบคุมนี้จะอยู่ในขอบเขตของแผนที่ที่มองเห็นได้ ดังนั้นการเพิ่มระยะห่างจากขอบด้านล่างหรือขอบด้านซ้ายของแผนที่ก็จะเปลี่ยนตำแหน่งของการควบคุมนี้ด้วย
ด้านขวาล่าง
หากต้องการใช้ตำแหน่งการควบคุมที่กำหนดเองนี้ ให้ส่งตำแหน่ง CustomControlPosition.BOTTOM_END_BELOW ไปยัง setCustomControl
ตำแหน่งการควบคุมที่กำหนดเองนี้จะอยู่ที่มุมขวาล่างของแผนที่ ใน
portrait mode ตำแหน่งนี้จะอยู่เหนือการ์ดเวลาถึงโดยประมาณและ/หรือส่วนท้ายที่กำหนดเอง (หรืออยู่ด้านล่างของแผนที่หากไม่มีการ์ดเวลาถึงโดยประมาณและส่วนท้ายที่กำหนดเอง) แต่ใน landscape mode ตำแหน่งนี้จะจัดแนวให้ตรงกับด้านล่างของแผนที่ องค์ประกอบ Nav SDK ที่มองเห็นได้ตามด้านขวา (ด้านขวาในภาษาที่เขียนจากซ้ายไปขวา) จะเลื่อนขึ้นเพื่อชดเชยความสูงของมุมมองการควบคุมที่กำหนดเอง การควบคุมนี้จะอยู่ในขอบเขตของแผนที่ที่มองเห็นได้ ดังนั้นการเพิ่มระยะห่างจากขอบด้านล่างหรือขอบด้านขวาของแผนที่ก็จะเปลี่ยนตำแหน่งของการควบคุมนี้ด้วย
ส่วนท้าย
หากต้องการใช้ตำแหน่งการควบคุมที่กำหนดเองนี้ ให้ส่งตำแหน่ง CustomControlPosition.FOOTER ไปยัง setCustomControl
ตำแหน่งการควบคุมที่กำหนดเองนี้ออกแบบมาสำหรับมุมมองส่วนท้ายที่กำหนดเอง หากการ์ดเวลาถึงโดยประมาณของ Nav SDK ปรากฏขึ้น การควบคุมนี้จะอยู่เหนือการ์ด หากไม่ปรากฏ การควบคุมจะจัดแนวให้ตรงกับด้านล่างของแผนที่ การควบคุมนี้จะอยู่ในตำแหน่งนอกขอบเขตของแผนที่ที่มองเห็นได้ ซึ่งหมายความว่าการเพิ่มระยะห่างจากขอบแผนที่จะไม่เปลี่ยนตำแหน่งของการควบคุมนี้ ซึ่งแตกต่างจากการควบคุมที่กำหนดเอง BOTTOM_START_BELOW และ BOTTOM_END_BELOW
ใน portrait mode ส่วนท้ายที่กำหนดเองจะมีความกว้างเต็ม การควบคุมที่กำหนดเองในตำแหน่ง CustomControlPosition.BOTTOM_START_BELOW และ CustomControlPosition.BOTTOM_END_BELOW รวมถึงองค์ประกอบ UI ของ Nav SDK เช่น ปุ่มจัดกึ่งกลางและโลโก้ Google จะอยู่ในตำแหน่งเหนือส่วนท้ายของการควบคุมที่กำหนดเอง ตำแหน่งเริ่มต้นของ Chevron จะพิจารณาความสูงของส่วนท้ายที่กำหนดเอง
ใน landscape mode ส่วนท้ายที่กำหนดเองจะมีความกว้างครึ่งหนึ่งและจัดแนวให้ตรงกับด้านซ้าย (ด้านซ้ายในภาษาที่เขียนจากซ้ายไปขวา) เช่นเดียวกับการ์ดเวลาถึงโดยประมาณของ Nav SDK การควบคุมที่กำหนดเองในตำแหน่ง CustomControlPosition.BOTTOM_START_BELOW และองค์ประกอบ UI ของ Nav SDK เช่น ปุ่มจัดกึ่งกลางและโลโก้ Google จะอยู่ในตำแหน่งเหนือส่วนท้ายของการควบคุมที่กำหนดเอง การควบคุมที่กำหนดเองในตำแหน่ง CustomControlPosition.BOTTOM_END_BELOW และองค์ประกอบ UI ของ Nav SDK ตามด้านขวา (ด้านขวาในภาษาที่เขียนจากซ้ายไปขวา) จะจัดแนวให้ตรงกับด้านล่างของแผนที่ ตำแหน่งเริ่มต้นของ Chevron จะไม่เปลี่ยนแปลงเมื่อมีส่วนท้ายที่กำหนดเอง เนื่องจากส่วนท้ายไม่ได้ขยายไปถึงด้านขวาของแผนที่
การควบคุมที่กำหนดเองในตำแหน่ง CustomControlPosition.BOTTOM_START_BELOW และ CustomControlPosition.BOTTOM_END_BELOW รวมถึงองค์ประกอบ UI ของ Nav SDK เช่น ปุ่มจัดกึ่งกลางและโลโก้ Google จะอยู่ในตำแหน่งเหนือส่วนท้ายของการควบคุมที่กำหนดเอง
อุปกรณ์เสริม UI ของแผนที่
Navigation SDK สำหรับ Android มีอุปกรณ์เสริม UI ที่ปรากฏขึ้นระหว่างการนำทาง ซึ่งคล้ายกับอุปกรณ์เสริมที่พบในแอป Google Maps สำหรับ Android คุณสามารถปรับระดับการมองเห็นหรือลักษณะที่ปรากฏของการควบคุมเหล่านี้ได้ตามที่อธิบายไว้ในส่วนนี้ การเปลี่ยนแปลงที่คุณทำที่นี่จะแสดงขึ้นในเซสชันการนำทางครั้งถัดไป
โปรดดูหลักเกณฑ์เกี่ยวกับการปรับเปลี่ยน UI การนำทางที่ยอมรับได้ในหน้านโยบาย
ดูโค้ด
การไฮไลต์ปลายทางและทางเข้า
เมื่อสร้างปลายทางด้วย
placeID ระบบจะไฮไลต์อาคารปลายทางและแสดงไอคอนทางเข้าเมื่อเป็นไปได้ สัญญาณภาพเหล่านี้ช่วยให้ผู้ใช้แยกแยะและนำทางไปยังปลายทางได้
หากต้องการสร้างปลายทางด้วย placeID ให้ใช้
Waypoint.Builder.setPlaceIdString()
เมธอด

แก้ไขส่วนหัวการนำทาง

ใช้
SupportNavigationFragment.setStylingOptions()
หรือ
NavigationView.setStylingOptions()
เพื่อเปลี่ยนธีมของส่วนหัวการนำทางและตัวบ่งชี้การเลี้ยวครั้งถัดไปที่
ปรากฏใต้ส่วนหัวเมื่อพร้อมใช้งาน
คุณสามารถตั้งค่าแอตทริบิวต์ต่อไปนี้ได้
| ประเภทแอตทริบิวต์ | Attributes |
|---|---|
| สีพื้นหลัง |
|
| องค์ประกอบข้อความสำหรับวิธีการ |
|
| องค์ประกอบข้อความสำหรับขั้นตอนถัดไป |
|
| ไอคอนการขับขี่ |
|
| คำแนะนำช่องทาง |
|
ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าตัวเลือกการจัดรูปแบบ
private SupportNavigationFragment mNavFragment;
mNavFragment = (SupportNavigationFragment) getFragmentManager()
.findFragmentById(R.id.navigation_fragment);
// Set the styling options on the fragment.
mNavFragment.setStylingOptions(new StylingOptions()
.primaryDayModeThemeColor(0xff1A237E)
.secondaryDayModeThemeColor(0xff3F51B5)
.primaryNightModeThemeColor(0xff212121)
.secondaryNightModeThemeColor(0xff424242)
.headerLargeManeuverIconColor(0xffffff00)
.headerSmallManeuverIconColor(0xffffa500)
.headerNextStepTypefacePath("/system/fonts/NotoSerif-BoldItalic.ttf")
.headerNextStepTextColor(0xff00ff00)
.headerNextStepTextSize(20f)
.headerDistanceTypefacePath("/system/fonts/NotoSerif-Italic.ttf")
.headerDistanceValueTextColor(0xff00ff00)
.headerDistanceUnitsTextColor(0xff0000ff)
.headerDistanceValueTextSize(20f)
.headerDistanceUnitsTextSize(18f)
.headerInstructionsTypefacePath("/system/fonts/NotoSerif-BoldItalic.ttf")
.headerInstructionsTextColor(0xffffff00)
.headerInstructionsFirstRowTextSize(24f)
.headerInstructionsSecondRowTextSize(20f)
.headerGuidanceRecommendedLaneColor(0xffffa500));
ปิดเลเยอร์การจราจร
ใช้
GoogleMap.setTrafficEnabled()
เพื่อเปิดหรือปิดใช้เลเยอร์การจราจรบนแผนที่ การตั้งค่านี้ส่งผลต่อการบ่งชี้ความหนาแน่นของการจราจรที่แสดงบนแผนที่โดยรวม อย่างไรก็ตาม การตั้งค่านี้จะไม่ส่งผลต่อการบ่งชี้การจราจรบนเส้นทางที่ผู้นำทางวางแผนไว้
private GoogleMap mMap;
// Get the map, and when the async call returns, setTrafficEnabled
// (callback will be on the UI thread)
mMap = mNavFragment.getMapAsync(navMap -> navMap.setTrafficEnabled(false));
เปิดใช้สัญญาณไฟจราจรและป้ายหยุด

คุณสามารถเปิดใช้การแสดงสัญญาณไฟจราจรและป้ายหยุดบนแผนที่ระหว่างการนำทางที่ใช้งานอยู่ ซึ่งจะให้บริบทเพิ่มเติมสำหรับเส้นทางและการขับขี่
โดยค่าเริ่มต้น ระบบจะปิดใช้สัญญาณไฟจราจรและป้ายหยุดใน Navigation SDK หากต้องการเปิดใช้ฟีเจอร์นี้ ให้เรียก
DisplayOptions
สำหรับแต่ละฟีเจอร์แยกกัน
ตัวอย่างต่อไปนี้แสดงการซ่อนสัญญาณไฟจราจรและป้ายหยุด
DisplayOptions displayOptions =
new DisplayOptions().showTrafficLights(true).showStopSigns(true);
เพิ่มเครื่องหมายที่กำหนดเอง
ตอนนี้ Navigation SDK สำหรับ Android ใช้ Google Maps API สำหรับเครื่องหมายแล้ว ดูข้อมูลเพิ่มเติมได้ที่ เอกสารประกอบเกี่ยวกับ Maps API
ข้อความลอย
คุณสามารถเพิ่มข้อความลอยได้ทุกที่ในแอป ตราบใดที่ข้อความนั้นไม่บังการระบุแหล่งที่มาของ Google Navigation SDK ไม่รองรับการยึดข้อความกับละติจูด/ลองจิจูดบนแผนที่หรือกับป้ายกำกับ ดูข้อมูลเพิ่มเติมได้ที่ หน้าต่างข้อมูล
แสดงขีดจำกัดความเร็ว
คุณสามารถแสดงหรือซ่อนไอคอนขีดจำกัดความเร็วแบบเป็นโปรแกรมได้ ใช้
NavigationView.setSpeedLimitIconEnabled()
หรือ
SupportNavigationFragment.setSpeedLimitIconEnabled()
เพื่อแสดงหรือซ่อนไอคอนขีดจำกัดความเร็ว เมื่อเปิดใช้ ไอคอนขีดจำกัดความเร็วจะปรากฏที่มุมล่างระหว่างการนำทาง ไอคอนจะแสดงขีดจำกัดความเร็วของถนนที่ยานพาหนะกำลังวิ่งอยู่ ไอคอนจะปรากฏเฉพาะในสถานที่ที่มีข้อมูลขีดจำกัดความเร็วที่เชื่อถือได้
// Display the Speed Limit icon
mNavFragment.setSpeedLimitIconEnabled(true);
ไอคอนขีดจำกัดความเร็วจะซ่อนอยู่ชั่วคราวเมื่อปุ่มจัดกึ่งกลางปรากฏขึ้น
ตั้งค่าโหมดกลางคืน
คุณสามารถควบคุมลักษณะการทำงานของโหมดกลางคืนแบบเป็นโปรแกรมได้ ใช้
NavigationView.setForceNightMode()
หรือ
SupportNavigationFragment.setForceNightMode()
เพื่อเปิดหรือปิดโหมดกลางคืน หรืออนุญาตให้ Navigation SDK สำหรับ Android
ควบคุม
AUTOอนุญาตให้ Navigation SDK กำหนดโหมดที่เหมาะสมตามตำแหน่งของอุปกรณ์และเวลาท้องถิ่นFORCE_NIGHTบังคับให้เปิดโหมดกลางคืนFORCE_DAYบังคับให้เปิดโหมดกลางวัน
ตัวอย่างต่อไปนี้แสดงการบังคับให้เปิดโหมดกลางคืนภายใน Fragment การนำทาง
// Force night mode on.
mNavFragment.setForceNightMode(FORCE_NIGHT);
แสดงรายการเส้นทาง
ขั้นแรก ให้สร้างมุมมองและเพิ่มมุมมองลงในลำดับชั้น
void setupDirectionsListView() {
// Create the view.
DirectionsListView directionsListView = new DirectionsListView(getApplicationContext());
// Add the view to your view hierarchy.
ViewGroup group = findViewById(R.id.directions_view);
group.addView(directionsListView);
// Add a button to your layout to close the directions list view.
ImageButton button = findViewById(R.id.close_directions_button); // this button is part of the container we hide in the next line.
button.setOnClickListener(
v -> findViewById(R.id.directions_view_container).setVisibility(View.GONE));
}
อย่าลืมส่งต่อเหตุการณ์วงจรการทำงานไปยัง DirectionsListView เช่นเดียวกับที่ส่งต่อให้กับ NavigationView ตัวอย่างเช่น
protected void onResume() {
super.onResume();
directionsListView.onResume();
}
ซ่อนเส้นทางอื่น
เมื่ออินเทอร์เฟซผู้ใช้แสดงข้อมูลมากเกินไป คุณสามารถลดความซับซ้อนได้โดยแสดงเส้นทางอื่นน้อยกว่าค่าเริ่มต้น (2 เส้นทาง) หรือไม่แสดงเส้นทางอื่นเลย คุณสามารถกำหนดค่าตัวเลือกนี้ก่อนที่จะดึงข้อมูลเส้นทางโดยเรียกเมธอด RoutingOptions.alternateRoutesStrategy() ด้วยค่าการแจงนับค่าใดค่าหนึ่งต่อไปนี้
| ค่าการแจงนับ | คำอธิบาย |
|---|---|
| AlternateRoutesStrategy.SHOW_ALL | ค่าเริ่มต้น แสดงเส้นทางอื่นสูงสุด 2 เส้นทาง |
| AlternateRoutesStrategy.SHOW_ONE | แสดงเส้นทางอื่น 1 เส้นทาง (หากมี) |
| AlternateRoutesStrategy.SHOW_NONE | ซ่อนเส้นทางอื่น |
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีซ่อนเส้นทางอื่นทั้งหมด
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.alternateRoutesStrategy(AlternateRoutesStrategy.SHOW_NONE);
navigator.setDestinations(destinations, routingOptions, displayOptions);
แถบความคืบหน้าของการเดินทาง

แถบความคืบหน้าของการเดินทางเป็นแถบแนวตั้งที่ปรากฏทางด้านซ้าย/ด้านหน้าของแผนที่เมื่อการนำทางเริ่มต้นขึ้น เมื่อเปิดใช้ แถบนี้จะแสดงภาพรวมของการเดินทางทั้งหมด รวมถึงปลายทางและตำแหน่งปัจจุบันของผู้ใช้
แถบนี้ช่วยให้ผู้ใช้คาดการณ์ปัญหาที่อาจเกิดขึ้นได้อย่างรวดเร็ว เช่น การจราจร โดยไม่ต้องซูมเข้า จากนั้นผู้ใช้จะเปลี่ยนเส้นทางการเดินทางได้หากจำเป็น หากผู้ใช้เปลี่ยนเส้นทางการเดินทาง แถบความคืบหน้าจะรีเซ็ตราวกับว่าการเดินทางใหม่เริ่มต้นขึ้นจากจุดนั้น
แถบความคืบหน้าของการเดินทางจะแสดงตัวบ่งชี้สถานะต่อไปนี้
เส้นทางที่ผ่านไปแล้ว—ส่วนของการเดินทางที่ผ่านไปแล้ว
ตำแหน่งปัจจุบัน—ตำแหน่งปัจจุบันของผู้ใช้ในการเดินทาง
สถานะการจราจร \- สถานะการจราจรที่กำลังจะเกิดขึ้น
ปลายทางสุดท้าย \- ปลายทางสุดท้ายของการเดินทาง
เปิดใช้แถบความคืบหน้าของการเดินทางโดยเรียกเมธอด setTripProgressBarEnabled()
ใน
NavigationView
หรือ
SupportNavigationFragment
ตัวอย่างเช่น
// Enable the trip progress bar.
mNavFragment.setTripProgressBarEnabled(true);
การจัดตำแหน่งแถบความคืบหน้าของการเดินทาง
- ด้านซ้ายของแถบจะจัดแนวให้ตรงกับด้านซ้ายของเครื่องวัดความเร็ว โลโก้ Google และปุ่มจัดกึ่งกลาง (เมื่อมองเห็นได้) ความกว้างคือ 12 dp
- แถบความคืบหน้าของการเดินทางจะมีความสูงคงที่ แถบความคืบหน้าของการเดินทางจะปรับระดับการมองเห็นและความสูงตามเบรกพอยท์ที่ระบุไว้ในความสูงของหน้าจอ เพื่อให้เหมาะกับข้อจำกัดด้านพื้นที่แนวตั้งในอุปกรณ์ขนาดเล็ก จุดพักเหล่านี้ไม่ขึ้นอยู่กับการวางแนวอุปกรณ์และพื้นที่ที่แผนที่ใช้จริงบนหน้าจอ
- หากแถบความคืบหน้าของการเดินทางซ้อนทับกับการ์ดการเลี้ยวหรือองค์ประกอบ UI อื่นๆ ของการนำทาง แถบนี้จะปรากฏใต้องค์ประกอบอื่นๆ เหล่านั้น
| ความสูงหน้าจอ | การมองเห็นแถบความคืบหน้าของการเดินทาง | ความสูงแถบความคืบหน้าของการเดินทาง | ตำแหน่งแกน Y ของแถบความคืบหน้าของการเดินทาง |
|---|---|---|---|
| เล็ก: 0 dp - 551 dp | ไม่แสดง | ไม่มี | ไม่มี |
| ปานกลาง: 552 dp - 739 dp | แสดง | 130 dp | เหนือการควบคุมด้านซ้าย (เครื่องวัดความเร็ว / โลโก้ Google / ปุ่มจัดกึ่งกลาง) |
| ใหญ่: 740 dp ขึ้นไป | แสดง | 290 dp | เหนือการควบคุมด้านซ้าย (เครื่องวัดความเร็ว / โลโก้ Google / ปุ่มจัดกึ่งกลาง) |
เข็มทิศ
Navigation SDK มีกราฟิกเข็มทิศซึ่งจะปรากฏที่มุมขวาบนของแผนที่ในบางกรณีและเมื่อเปิดใช้เท่านั้น เมื่อผู้ใช้คลิกเข็มทิศ กล้องจะเคลื่อนไหวกลับไปยังตำแหน่งที่มีทิศทางเป็น 0 (การวางแนวเริ่มต้น) และเข็มทิศจะจางหายไปหลังจากนั้นไม่นาน
หากเปิดใช้การนำทางและตั้งค่าโหมดกล้องเป็น "ติดตาม" เข็มทิศจะยังคงปรากฏอยู่ และการแตะเข็มทิศจะสลับระหว่างมุมมองกล้องแบบเอียงและแบบภาพรวม
เข็มทิศจะยังคงอยู่ในตำแหน่งเดิมหากส่วนหัว (ในโหมดแนวตั้ง) ขยายและขัดแย้งกับตำแหน่งเริ่มต้นของเข็มทิศ เพื่อไม่ให้ผู้ขับเสียสมาธิ หากคุณเพิ่มการควบคุมที่กำหนดเองของส่วนหัวรองหรือมุมมองอุปกรณ์เสริมของส่วนหัว ระบบจะซ่อนเข็มทิศเพื่อหลีกเลี่ยงความขัดแย้งของ UI
เข็มทิศรองรับโหมดกลางวันและโหมดกลางคืน รวมถึงโหมดมืด
เข็มทิศจะเปิดใช้อยู่โดยค่าเริ่มต้น คุณสามารถตั้งค่าว่าจะเปิดใช้เข็มทิศหรือไม่
โดยใช้
compassEnabled
เมธอดในคลาส GoogleMapOptions
ปิดสิ่งปลูกสร้าง 3 มิติ
สำหรับอุปกรณ์ที่มีข้อจำกัดด้านประสิทธิภาพ คุณสามารถปิดการแสดงสิ่งปลูกสร้าง 3 มิติ
ได้โดยเรียก
GoogleMap.setBuildingsEnabled(false)
Prompt Visibility API (เวอร์ชันทดลอง)
Prompt Visibility API ช่วยให้คุณหลีกเลี่ยงความขัดแย้งระหว่างองค์ประกอบ UI ที่สร้างโดย Navigation SDK กับองค์ประกอบ UI ที่กำหนดเองได้โดยการเพิ่ม Listener เพื่อรับ Callback ก่อนที่องค์ประกอบ UI ของ Navigation SDK จะปรากฏขึ้นและทันทีที่องค์ประกอบถูกนำออก ดูข้อมูลเพิ่มเติม รวมถึงตัวอย่างโค้ดได้ในส่วน Prompt Visibility API ของหน้า Configure real-time-disruptions