มุมมองการนําทาง

คลาสสาธารณะ NavigationView ขยาย RelativeLayout

มุมมองที่แสดงแผนที่สำหรับการนำทาง

ผู้ใช้คลาสนี้ต้องส่งต่อเมธอดวงจรทั้งหมดจาก Activity หรือ Fragment ที่มีมุมมองนี้ไปยังเมธอดที่เกี่ยวข้องในคลาสนี้ โดยเฉพาะอย่างยิ่ง คุณต้องส่งต่อวิธีการต่อไปนี้

หากเพิ่ม NavView หลังจาก Activity หรือ Fragment ระดับบนสุดผ่านวงจรการสร้างแล้ว คุณต้องเรียกใช้ onCreate(Bundle), onStart() และ onResume() ด้วยตนเองเพื่อเริ่มต้นอย่างถูกต้อง ในทำนองเดียวกัน หากมีการปลด NavView ออกจาก Activity หรือ Fragment ระดับบนสุด คุณต้องเรียกใช้ onPause(), onStop() และ onDestroy() ด้วยตนเองเพื่อป้องกันการรั่วไหล

หมายเหตุ: เราไม่แนะนำให้เพิ่มเด็กลงในมุมมองนี้

การเรียกไปยัง NavView ทั้งหมดควรดำเนินการในเธรด UI

สรุปข้อมูลชั้นเรียนที่ซ้อนกัน

ที่ปรับปรุงใหม่ NavigationView.OnNightModeChangedListener อินเทอร์เฟซสำหรับผู้ฟังซึ่งจะได้รับการแจ้งเตือนเมื่อ UI เข้าหรือออกจาก "โหมดกลางคืน"
ที่ปรับปรุงใหม่ NavigationView.OnRecenterButtonClickedListener อินเทอร์เฟซสำหรับผู้ฟังซึ่งจะได้รับการแจ้งเตือนเมื่อมีการคลิกปุ่มจัดกึ่งกลางใหม่

สรุปค่าคงที่ที่รับช่วงมา

สรุปช่องที่รับค่าเดิมมา

สรุปเครื่องมือสร้างสาธารณะ

NavigationView(บริบทบริบท)
NavigationView(บริบทบริบท, แอตทริบิวต์ AttributeSet)
NavigationView(บริบทบริบท, AttributeSet attrs, int defStyleAttr)

สรุปวิธีการสาธารณะ

กล้อง
getCamera()
แสดงวัตถุกล้องถ่ายรูปที่สามารถใช้เพื่อเปลี่ยนวิวพอร์ตของแผนที่
NavigationMap
getMap() ได้
แสดงวัตถุที่สามารถใช้เพิ่มเนื้อหาลงในแผนที่
void
onConfigurationChanged(การกำหนดค่าการกำหนดค่า)
void
onCreate(Bundle savedInstanceState)
void
void
void
void
onSaveInstanceState(Bundle outState)
void
void
onStop()
void
onTrimMemory(ระดับสี)
void
setCalloutInfoDisplayModeOverride(NavigationCalloutDisplayMode calloutInfoDisplayModeOverride)
ลบล้างโหมดการแสดงผลเริ่มต้นสำหรับไฮไลต์เวลาถึงโดยประมาณระหว่างการนำทาง
void
setCalloutInfoFormatOverride(RouteCalloutInfoFormat calloutInfoFormatOverride)
ตั้งค่าโหมดรูปแบบข้อมูลไฮไลต์สำหรับไฮไลต์เส้นทาง
void
setCompassEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าจะให้มองเห็นเข็มทิศหรือไม่
void
setCustomControl(ดูการควบคุม, ตำแหน่ง CustomControlPosition)
ตั้งค่ามุมมองการควบคุมที่กำหนดเองซึ่งจะปรากฏในตำแหน่งที่กำหนดใน UI การนำทาง
void
setEtaCardEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าจะแสดงการ์ดเวลาถึงโดยประมาณระหว่างการนำทางหรือไม่
void
setForceNightMode(int NightMode)
ตั้งค่า ForceNightMode ปัจจุบัน
void
setHeaderEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าส่วนหัวการนำทางแบบเลี้ยวต่อเลี้ยวจะปรากฏระหว่างการนำทางหรือไม่
void
setOnNightModeChangedListener(Listener NavigationView.OnNightModeChangedListener)
ตั้งค่า Listener ซึ่งจะได้รับแจ้งสถานะ "โหมดกลางคืน" ปัจจุบันทันที และเมื่อใดก็ตามที่ UI เข้าหรือออกจาก "โหมดกลางคืน"
void
setOnRecenterButtonClickedListener(ListenerNavigationView.OnRecenterButtonClickedListener)
ตั้งค่าผู้ฟังซึ่งจะได้รับแจ้งเมื่อมีการคลิกปุ่มตัวล่าสุด
void
setRecenterButtonEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าควรแสดงปุ่มกึ่งกลางใหม่หรือไม่
void
setSpeedAlertOptions(SpeedAlertOptions SpeedAlertOptions)
ตั้งค่า SpeedAlertOptions เพื่อปรับแต่งเกณฑ์ทริกเกอร์สำหรับ SpeedAlertSeverity
void
setSpeedLimitIconEnabled(เปิดใช้บูลีน)
ระบุว่าจะแสดงไอคอนการจำกัดความเร็วหรือไม่
void
setSpeedometerIconEnabled(เปิดใช้บูลีน)
ระบุว่าจะแสดงไอคอนมาตรวัดความเร็วหรือไม่
void
setSpeedometerUiOptions(SpeedometerUiOptions SpeedometerUiOptions)
กำหนดค่า UI ของเครื่องวัดความเร็ว SpeedometerUiOptions ตาม SpeedAlertSeverity
void
setStylingOptions(StylingOptions styleingOptions)
ตั้งค่าตัวเลือกการจัดรูปแบบสำหรับ UI การนำทาง
void
setTrafficIncidentCardsEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าควรแสดงการ์ดปัญหาการจราจรหรือไม่ เมื่อผู้ใช้คลิกไอคอนเหตุการณ์การจราจร
void
setTrafficPromptsEnabled(เปิดใช้บูลีน)
ตั้งค่าว่าควรแสดงข้อความแจ้งเกี่ยวกับการจราจรหรือไม่

ข้อมูลสรุปของเมธอดที่รับช่วงมา

ผู้รับสร้างสาธารณะ

สาธารณะ NavigationView (บริบทบริบท)

พารามิเตอร์
บริบท

สาธารณะ NavigationView (บริบทบริบท, แอตทริบิวต์ชุดแอตทริบิวต์)

พารามิเตอร์
บริบท
attrs

สาธารณะ NavigationView (บริบทบริบท, AttributeSet attrs, int defStyleAttr)

พารามิเตอร์
บริบท
attrs
defStyleAttr

วิธีการสาธารณะ

สาธารณะ กล้อง getCamera ()

แสดงวัตถุกล้องถ่ายรูปที่สามารถใช้เพื่อเปลี่ยนวิวพอร์ตของแผนที่ เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

คิกรีเทิร์น
  • ออบเจ็กต์ Camera ที่เชื่อมโยงกับมุมมองนี้

สาธารณะ NavigationMap getMap ()

แสดงวัตถุที่สามารถใช้เพิ่มเนื้อหาลงในแผนที่ เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

สาธารณะ void onConfigurationChanged (การกำหนดค่าการกำหนดค่า)

พารามิเตอร์
การกำหนดค่า

สาธารณะ void onCreate (Bundle savedInstanceState)

พารามิเตอร์
savedInstanceState

สาธารณะ void onDestroy ()

สาธารณะ void onPause ()

สาธารณะ void onResume ()

สาธารณะ void onSaveInstanceState (Bundle outState)

พารามิเตอร์
outState

สาธารณะ void onStart ()

สาธารณะ void onStop ()

สาธารณะ void onTrimMemory (ระดับสี)

พารามิเตอร์
ระดับ

สาธารณะ void setCalloutInfoDisplayModeOverride (NavigationCalloutDisplayMode calloutInfoDisplayModeOverride)

ลบล้างโหมดการแสดงผลเริ่มต้นสำหรับไฮไลต์เวลาถึงโดยประมาณระหว่างการนำทาง การส่งผ่าน Null จะรีเซ็ตโหมดการแสดงผลเริ่มต้น

พารามิเตอร์
calloutInfoDisplayModeOverride โหมดการแสดงผลใหม่ที่ต้องการ

สาธารณะ void setCalloutInfoFormatOverride (RouteCalloutInfoFormat calloutInfoFormatOverride)

ตั้งค่าโหมดรูปแบบข้อมูลไฮไลต์สำหรับไฮไลต์เส้นทาง หากไม่ได้เรียกใช้เมธอดนี้ ไฮไลต์จะเป็นไปตามลักษณะการทำงานตามที่กำหนดโดย Route calloutInfoFormat.DEFAULT

พารามิเตอร์
calloutInfoFormatOverride รูปแบบไฮไลต์ใหม่ที่ต้องการ

สาธารณะ void setCompassEnabled (boolean enabled)

ตั้งค่าว่าจะให้มองเห็นเข็มทิศหรือไม่ เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setCustomControl (ดูการควบคุม ตำแหน่ง CustomControlPosition)

ตั้งค่ามุมมองการควบคุมที่กำหนดเองซึ่งจะปรากฏในตำแหน่งที่กำหนดใน UI การนำทาง หากมีการควบคุมที่กำหนดเองอยู่แล้วในตำแหน่งที่กำหนด ระบบจะแทนที่การควบคุมดังกล่าว การเรียกใช้เมธอดนี้ที่มีค่าการควบคุมแบบ Null จะเป็นการนำการควบคุมที่กำหนดเองออกจากตำแหน่งที่ระบุ หากเพิ่มตัวควบคุมในตำแหน่งอื่นแล้วหรือมีระดับบนสุดอยู่แล้ว ระบบจะไม่สนใจการควบคุมดังกล่าว เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

พารามิเตอร์
การควบคุม มุมมองที่จะอยู่ใน UI การนำทาง
position กำหนดตำแหน่งที่วางการควบคุมที่กำหนดเองใน UI ที่สัมพันธ์กับการควบคุมในตัว

สาธารณะ void setEtaCardEnabled (boolean enabled)

ตั้งค่าว่าจะแสดงการ์ดเวลาถึงโดยประมาณระหว่างการนำทางหรือไม่ ควรเรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setForceNightMode (intnightMode)

ตั้งค่า ForceNightMode ปัจจุบัน

พารามิเตอร์
nightMode

สาธารณะ void setHeaderEnabled (boolean enabled)

ตั้งค่าว่าส่วนหัวการนำทางแบบเลี้ยวต่อเลี้ยวจะปรากฏระหว่างการนำทางหรือไม่ เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setOnNightModeChangedListener (NavigationView.OnNightModeChangedListener)

ตั้งค่า Listener ซึ่งจะได้รับแจ้งสถานะ "โหมดกลางคืน" ปัจจุบันทันที และเมื่อใดก็ตามที่ UI เข้าหรือออกจาก "โหมดกลางคืน" ควรเรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

หมายเหตุ: เพื่อหลีกเลี่ยงการรั่วไหลของหน่วยความจำ ระบบควรเรียกใช้ setOnNightModeChangedListener(null) เมื่อไม่จำเป็นต้องใช้ Listener อีกต่อไป

พารามิเตอร์
Listener Listener ซึ่งจะได้รับการแจ้งเตือนเมื่อ UI เข้าหรือออกจากโหมดกลางคืน

สาธารณะ void setOnRecenterButtonClickedListener (NavigationView.OnRecenterButtonClickedListener Listener)

ตั้งค่าผู้ฟังซึ่งจะได้รับแจ้งเมื่อมีการคลิกปุ่มตัวล่าสุด เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

หมายเหตุ: เพื่อหลีกเลี่ยงการรั่วไหลของหน่วยความจำ คุณควรเรียกใช้ setOnRecenterButtonClickedListener(null) เมื่อไม่จำเป็นต้องใช้ Listener อีกต่อไป

พารามิเตอร์
Listener ผู้ฟังซึ่งจะได้รับการแจ้งเตือนเมื่อมีการคลิกปุ่มจัดกึ่งกลางใหม่

สาธารณะ void setRecenterButtonEnabled (boolean enabled)

ตั้งค่าว่าควรแสดงปุ่มกึ่งกลางใหม่หรือไม่ ควรเรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setSpeedAlertOptions (SpeedAlertOptions SpeedAlertOptions)

ตั้งค่า SpeedAlertOptions เพื่อปรับแต่งเกณฑ์ทริกเกอร์สำหรับ SpeedAlertSeverity

คุณสามารถใช้วิธีนี้เพื่อปรับแต่งเกณฑ์การทริกเกอร์การแจ้งเตือนความเร็วเป็นเปอร์เซ็นต์สำหรับทั้งการแจ้งเตือน MINOR และ MAJOR คุณยังใช้วิธีนี้เพื่อกำหนดค่าเวลาเป็นวินาทีที่จำเป็นต่อการอัปเกรดการแจ้งเตือนความเร็วจาก MINOR เป็น MAJOR ได้ด้วย

เมื่อตั้งค่า null SpeedAlertOptions หรือไม่ได้ตั้งค่า การแจ้งเตือนความเร็วเริ่มต้นของ NavSDK จะแสดงขึ้นมา โดยการแจ้งเตือนความเร็วจะแสดงข้อความสีแดงในพื้นหลังสีขาว/สีเข้มสำหรับโหมดกลางวัน/กลางคืนตามลำดับเมื่อมีความเร็วต่ำกว่า 5 ไมล์ต่อชั่วโมงหรือ 10 กิโลเมตรต่อชั่วโมง และแสดงข้อความสีขาวบนพื้นหลังสีแดงเมื่อเร่งความเร็วมากกว่า 5 ไมล์ต่อชั่วโมงหรือ 10 กิโลเมตรต่อชั่วโมง

พารามิเตอร์
speedAlertOptions

สาธารณะ void setSpeedLimitIconEnabled (boolean enabled)

ระบุว่าจะแสดงไอคอนการจำกัดความเร็วหรือไม่ เรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

เมื่อเปิดใช้ ไอคอนขีดจำกัดความเร็วซึ่งระบุขีดจำกัดความเร็วของถนนจะปรากฏขึ้นที่มุมเริ่มต้นด้านล่างระหว่างการแนะนำ ไอคอนนี้จะปรากฏเฉพาะในพื้นที่ที่มีข้อมูลขีดจำกัดความเร็วที่เชื่อถือได้ เมื่อไอคอนมาตรวัดความเร็วปรากฏขึ้น แสดงว่ามีการแนบไอคอนวัดความเร็วไว้

หากเปิดใช้ปุ่มจัดกึ่งกลางใหม่ ไอคอนการจำกัดความเร็วจะซ่อนไว้ชั่วคราวเมื่อปุ่มจัดกึ่งกลางใหม่ปรากฏขึ้น

หมายเหตุ: คนขับต้องปฏิบัติตามป้ายที่ติดไว้ทั้งหมดบนถนน และใช้ไอคอนจำกัดความเร็วเป็นข้อมูลอ้างอิงเท่านั้น ไม่รับประกันความถูกต้องของข้อมูลขีดจำกัดความเร็ว คุณรายงานความไม่ถูกต้องของข้อมูลขีดจำกัดความเร็วได้โดยส่งเคสในพอร์ทัลการสนับสนุนของ Google Cloud

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setSpeedometerIconEnabled (boolean enabled)

ระบุว่าจะแสดงไอคอนมาตรวัดความเร็วหรือไม่ เรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

เมื่อเปิดใช้ ไอคอนมาตรวัดความเร็วที่แสดงความเร็วของยานพาหนะจะปรากฏในมุมเริ่มต้นด้านล่างระหว่างการนำทาง เมื่อไอคอนจำกัดความเร็วปรากฏ ไอคอนดังกล่าวจะแนบอยู่ และมาตรวัดความเร็วอาจมีสีสำหรับข้อความและพื้นหลังได้ ทั้งนี้ขึ้นอยู่กับความรุนแรงที่เร่งให้เร็วขึ้น

การเปิดใช้ไอคอนตัวเร่งความเร็วยังเปิดใช้ไอคอนจำกัดความเร็วด้วย แต่คุณจะใช้ setSpeedLimitIconEnabled(boolean) เพื่อปิด/เปิดใช้ไอคอนจำกัดความเร็วแยกต่างหากได้

หากเปิดใช้ปุ่มจัดกึ่งกลางใหม่ ไอคอนมาตรวัดความเร็วจะซ่อนไว้ชั่วคราวเมื่อปุ่มตั้งจุดศูนย์กลางใหม่ปรากฏขึ้น

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setSpeedometerUiOptions (SpeedometerUiOptionsUiOptions)

กำหนดค่า UI ของเครื่องวัดความเร็ว SpeedometerUiOptions ตาม SpeedAlertSeverity เรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

การตั้งค่า SpeedometerUiOptions ของ null หมายความว่าคุณจะล้างรายการก่อนหน้าหากตั้งค่าไว้ หากไม่ได้กำหนดค่า SpeedometerUiOptions UI ของมาตรวัดความเร็วจะใช้การกำหนดค่าเริ่มต้นของ NavSDK สำหรับการแจ้งเตือนความเร็วของ SpeedAlertSeverity ต่างๆ ดังนี้

  • การแจ้งเตือนความเร็วของ MINOR ในโหมดวัน: ข้อความสีแดงบนพื้นหลังสีขาว
  • การแจ้งเตือนความเร็วของ MINOR ในโหมดกลางคืน: ข้อความสีแดงในพื้นหลังสีเข้ม
  • การแจ้งเตือนความเร็วของ MAJOR ในโหมดวัน: ข้อความสีขาวบนพื้นหลังสีแดง
  • การแจ้งเตือนความเร็วของ MAJOR ในโหมดกลางคืน: ข้อความสีขาวบนพื้นหลังสีแดง

พารามิเตอร์
speedometerUiOptions

สาธารณะ void setStylingOptions (StylingOptions styleingOptions)

ตั้งค่าตัวเลือกการจัดรูปแบบสำหรับ UI การนำทาง ควรเรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

พารามิเตอร์
stylingOptions

สาธารณะ void setTrafficIncidentCardsEnabled (boolean enabled)

ตั้งค่าว่าควรแสดงการ์ดปัญหาการจราจรหรือไม่ เมื่อผู้ใช้คลิกไอคอนเหตุการณ์การจราจร เมธอดนี้ควรเรียกใช้ในเธรด UI เท่านั้น

โปรดทราบว่าเมื่อการนำทางแบบมีคำแนะนำทำงานอยู่ รายละเอียดของปัญหาการจราจรจะแสดงขึ้นในข้อความแจ้ง หากต้องการปิดดูรายละเอียดปัญหาการจราจรในระหว่างการนำทาง ควรใช้ setTrafficPromptsEnabled(boolean) แทน

พารามิเตอร์
เปิดใช้อยู่

สาธารณะ void setTrafficPromptsEnabled (boolean enabled)

ตั้งค่าว่าควรแสดงข้อความแจ้งเกี่ยวกับการจราจรหรือไม่ ข้อความแจ้งสภาพการจราจรจะปรากฏเพื่ออัปเดตให้ผู้ใช้ทราบเกี่ยวกับสภาพการจราจรในระหว่างการนำทาง ควรเรียกใช้เมธอดนี้ในเธรด UI เท่านั้น

พารามิเตอร์
เปิดใช้อยู่