คำถามที่พบบ่อย
ข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์
- ประกาศเกี่ยวกับข้อกำหนดในการให้บริการของ Navigation SDK ควรแสดงอย่างไร
- การนำทางด้วยเสียงรองรับภาษาใดบ้าง
- ฝั่งคนขับออกจากโหมดการนำทางไหม
- มีเส้นประกอบเมื่อเริ่มต้นหรือเปลี่ยนเส้นทางไหม
- ผู้ใช้แอปต้องติดตั้ง Google Maps บนอุปกรณ์เคลื่อนที่ไหม
- แถบนำทาง SDK ระบุที่จอดรถใกล้กับร้านอาหารและจุดหมายอื่นๆ ได้ไหม
- การนำทาง SDK แสดงทิศทางการจราจรในเลนเมื่อเข้าใกล้จุดเลี้ยวหรือไม่
เครือข่าย
ข้อมูล
- ฉันจะดึงข้อมูลจุดแวะพัก/จุดหมายทั้งหมดในการเดินทางก่อนเริ่มเดินทางได้ไหม
- มีคำแนะนำเส้นทางแบบเลี้ยวต่อเลี้ยวที่จุดเริ่มต้นของเส้นทางไหม
- ระบบสื่อสารเวลาถึงโดยประมาณ (ETA) ให้ผู้ใช้ทราบอย่างไร
- สามารถใช้
RoadSnappedLocationProvider
เพื่อรับข้อมูลตำแหน่งในการสแนปในปัจจุบันของผู้ขับขี่ได้ไหมหากการนำทางไม่ได้อยู่ในเบื้องหน้า - แถบนำทาง SDK รองรับการกำหนดเขตพื้นที่เสมือนไหม
- ฉันจะปิดการแจ้งเตือนเมื่อแอปการนำทาง อยู่ในเบื้องหลังได้ไหม
- ฉันจะดูบันทึกธุรกรรมที่ Google เก็บไว้ได้อย่างไร
การปรับแต่ง UI
- ฉันสามารถใส่รหัสสีตัวเลือกเส้นทางที่ดีที่สุดได้ไหม
- แถบนำทาง SDK แสดงเวลาถึงโดยประมาณของจุดหมายได้ไหม
- ฉันจะซ่อนการอัปเดตเวลาถึงโดยประมาณได้อย่างไร
- การปรับแต่ง UI แบบใดที่พร้อมใช้งาน สำหรับการ์ดส่วนหัวและส่วนท้าย
การกำหนดเส้นทาง
- ฉันระบุเส้นทางที่เจาะจงสำหรับคนขับหรือนำเส้นทางอื่นๆ ออกได้ไหม
- ฉันจะแสดงป้ายกำกับปลายทางที่ต่างจากตำแหน่งปลายทางเริ่มต้นให้คนขับแสดงได้ไหม
- ฉันจะใช้ Navigation SDK เพื่อติดตามการเบี่ยงเบนจากเส้นทางที่กำหนดได้ไหม
- คนขับรถออกจากการนำทาง โดยไม่ดำเนินเส้นทางจนจบได้ไหม
เครื่องมือจำลอง
เวิร์กโฟลว์
ข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์
- แอปของคุณต้องใช้กล่องโต้ตอบที่มีประกาศเกี่ยวกับข้อกำหนดในการให้บริการของ Navigation SDK ซึ่งคนขับแต่ละคนต้องยอมรับ กล่องโต้ตอบนี้ช่วยให้ผู้ขับขี่มีโอกาสยอมรับข้อกำหนดในการให้บริการ ไฟล์ข้อความของข้อกำหนดมาพร้อมกับ Navigation SDK
- ใน Android ให้ใช้เมธอด
NavigationApi.showTermsAndConditionsDialog
เพื่อแสดงกล่องโต้ตอบที่มีคำเหล่านั้น - ใน iOS ให้โทรหา
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
- ภาษาที่ Google Maps สำหรับมือถือรองรับจะใช้งานกับ Navigation SDK ได้โดยอัตโนมัติ อุปกรณ์มีภาษาเริ่มต้นของระบบและแอปไม่สามารถเปลี่ยนการตั้งค่านั้นได้ แต่แอปมีสิทธิ์เข้าถึงภาษาต่างๆ มากกว่า 70 ภาษา
-
ใช่ ใน Android เมื่อเริ่มต้นแล้ว
LocationListener
จะยังคงทำงานในเบื้องหลังต่อไป แอปของคุณจะสแนปตำแหน่งถนนไปเรื่อยๆ และคงทิศทางไว้ใน iOS หากต้องการรับข้อมูลอัปเดตตำแหน่งของตำแหน่งและทิศทางในเบื้องหลังต่อไป ให้ใช้การสแนปถนนและตั้งค่า
allowsBackgroundLocationUpdates
เป็นYES
-
ใช่ เมื่อมีการสร้างหรือเปลี่ยนแปลงเส้นทาง
RouteChangeListener
จะแสดงเส้นประกอบ - ไม่ Navigation SDK ไม่จำเป็นต้องติดตั้ง Google Maps บนอุปกรณ์เคลื่อนที่
- ไม่ Navigation SDK ไม่มีฟังก์ชันนี้ในขณะนี้
- ได้ ทิศทางการจราจรพร้อมใช้งานและแสดงตามค่าเริ่มต้น
เครือข่าย
- Navigation SDK จัดการกับการเชื่อมต่อที่ไม่ดีได้อย่างไร
- Navigation SDK จะแคชเส้นทางล่วงหน้าสำหรับแต่ละเส้นทาง ข้อมูลที่จัดเก็บในแคชล่วงหน้าประกอบด้วยข้อมูลการกำหนดเส้นทางสำหรับ 15-20 นาที และตัวเลือกเส้นทางอื่นๆ ในกรณีที่คนขับเบี่ยงเบนออกจากเส้นทาง SDK การนำทางจะประมาณตำแหน่งโดยใช้ GPS และเซ็นเซอร์ของอุปกรณ์
- มีโหมดออฟไลน์ไหม
- ไม่ ตอนนี้ Navigation SDK ไม่มีโหมดออฟไลน์ แต่ SDK ให้ข้อมูลที่มีการแคชล่วงหน้าสำหรับการเดินทาง
ข้อมูล
- ฉันจะดึงข้อมูลป้าย/จุดหมายทั้งหมดในการเดินทางก่อนเริ่ม เส้นทางนั้นได้ไหม
-
ใช่ ใน Android หากต้องการเรียกข้อมูลเส้นทางของเส้นทาง ให้โทรหา
Navigator.getRouteSegments()
ใน iOS ให้โทร
GMSNavigator.routeLegs(read)
- มีคำแนะนำเส้นทางแบบเลี้ยวต่อเลี้ยวที่จุดเริ่มต้นของเส้นทางไหม
- ได้ Navigation SDK แสดงรายการส่วนของเส้นทาง นอกจากนี้ คนขับยังสามารถปัดผ่านการ์ดเส้นทางในส่วนหัว เพื่อดูการขับขี่แต่ละครั้ง
- ระบบแจ้งเวลาถึงโดยประมาณให้ผู้ใช้ทราบอย่างไร
-
ใน Android ให้ทำตามขั้นตอนต่อไปนี้เพื่อให้ข้อมูลเวลาถึงโดยประมาณแก่ผู้ใช้แอป
- ดึงเวลาและระยะทางของจุดอ้างอิงทุกจุดโดยใช้
Navigator.getTimeAndDistanceList()
- ส่งต่อข้อมูลนี้ไปยังแอปพลิเคชันไคลเอ็นต์เหมือนกับที่คุณทำอยู่ในปัจจุบันสำหรับเวลาถึงโดยประมาณของคนขับ
ใน iOS ให้ทำตามขั้นตอนต่อไปนี้เพื่อให้ข้อมูลเวลาถึงโดยประมาณแก่ผู้ใช้แอป
- ดึงข้อมูลขาในการเดินทางโดยใช้
Navigator.getRouteSegments()
- โทร
GMSNavigator.timeToNextDestination
สำหรับการเดินทางแต่ละครั้ง - ส่งต่อข้อมูลเวลาไปยังแอปพลิเคชันไคลเอ็นต์เหมือนกับที่คุณ บอกเวลาถึงโดยประมาณของคนขับ
- ดึงเวลาและระยะทางของจุดอ้างอิงทุกจุดโดยใช้
-
จะใช้
RoadSnappedLocationProvider
เพื่อดูตำแหน่งที่มีการสแนปปัจจุบันของผู้ขับได้ไหมหากการนำทางไม่ได้อยู่ในเบื้องหน้า -
ใช่ ใน Android
RoadSnappedLocationProvider
จะทำงานในเบื้องหลังโดยค่าเริ่มต้นใน iOS หากต้องการให้การไปยังส่วนต่างๆ ทำงานในเบื้องหลังต่อไป ให้ใช้การมอบสิทธิ์สำหรับ
GMSRoadSnappedLocationProviderDelegate
และตั้งค่าพร็อพเพอร์ตี้allowsBackgroundLocationUpdates
เป็นTRUE
- Navigation SDK รองรับการกำหนดเขตพื้นที่เสมือนไหม
-
ไม่ ในบริบทของการนำทาง
remainingTimeOrdistanceChangeListener
มีข้อได้เปรียบเหนือเขตพื้นที่เสมือนแบบง่าย เขตพื้นที่เสมือนอาจไม่ได้อธิบายเรขาคณิตของถนน และอาจไม่ได้ตั้งศูนย์กลางของจุดที่คนขับกำลังนำทางคุณประมาณฟังก์ชันนี้ได้โดยใช้
remainingTimeOrdistanceChangeListener
- ตั้งค่าเกณฑ์เพื่อระบุความถี่ของการเรียกกลับ
- ตรวจสอบระยะทางที่เหลืออยู่ไปยังจุดหมาย
ตัวอย่างเช่น ถ้าตั้งค่าเกณฑ์เป็น 100 ม. คุณจะได้รับการเรียกกลับเมื่อระยะทางไปยังปลายทางเปลี่ยนไปเป็น 100 ม. เมื่อระยะทางลดลง คุณสามารถอัปเดตเกณฑ์นี้ให้มีค่าน้อยลงและได้รับการเรียกกลับบ่อยขึ้น จากนั้นตรวจสอบระยะทางที่เหลือเพื่อพิจารณาว่า คุณอยู่ใกล้กับจุดรับ/ส่งเพียงพอหรือไม่
ใน iOS ใช้
GMSNavigatorDelegate.didUpdateRemainingDistance
ที่ได้รับสิทธิ์เพื่อจัดการระยะห่างระหว่างการแจ้งเตือน - ฉันสามารถปิดการแจ้งเตือนเมื่อแอปการนำทางทำงานอยู่ในเบื้องหลังได้หรือไม่
-
ใช่ ใน Android ให้ใช้
Navigator.setHeadsUpNotificationEnabled
เพื่อควบคุมการแจ้งเตือน เมธอดนี้มีอาร์กิวเมนต์บูลีนFALSE
ปิดการแจ้งเตือน ส่วนTRUE
เปิดใช้การแจ้งเตือนใน iOS ให้ปิดใช้การแจ้งเตือนในเบื้องหลังสําหรับตําแหน่งที่มีการสแนปถนนโดยตั้งค่า
GMSRoadSnappedLocationProviderDelegate.allowsBackgroundLocationUpdates
เป็น NOหากต้องการปิดการประมวลผลในเบื้องหลังสำหรับการแจ้งเตือนตำแหน่งอื่นๆ โปรดโทร
GMSNavigator.sendsBackgroundNotifications(NO)
-
เครื่องบันทึกธุรกรรมจะติดตามการส่งคืนและการส่งคืนด้วยรหัสที่ไม่ซ้ำกัน ซึ่ง Google จะบันทึกเพื่อวัตถุประสงค์ในการเรียกเก็บเงิน ดูข้อมูลเพิ่มเติมได้ที่วิธีการทดสอบการใช้งานสำหรับแพลตฟอร์มของคุณ
ดูข้อมูลเกี่ยวกับการเขียนโค้ดของธุรกรรมการเรียกเก็บเงินได้ที่ ธุรกรรมที่เรียกเก็บเงินได้
การปรับแต่ง UI
- ฉันสามารถใส่รหัสสีตัวเลือกเส้นทางที่ดีที่สุดได้หรือไม่
- ไม่ได้ ปัจจุบันระบบไม่รองรับการเขียนโค้ดสีของตัวเลือกเส้นทาง
- Navigation SDK แสดงเวลาถึงโดยประมาณสำหรับปลายทางสุดท้ายได้ไหม
-
ใช่ ใน Android ให้ใช้วิธีการต่อไปนี้
- ดึงเวลาและระยะทางของจุดอ้างอิงทุกจุดโดยใช้
Navigator.getTimeAndDistanceList()
- ซ่อนเวลาถึงโดยประมาณของจุดอ้างอิงปัจจุบันโดยใช้
NavigationFragment.setEtaCardEnabled(false)
- แสดงผลเวลาถึงจุดหมายสุดท้าย
ใน iOS ให้ใช้รายการต่อไปนี้
- โทรมาที่
GMSNavigator.routeLegs(read)
- สำหรับขั้นตอนสุดท้าย ให้โทรหา
GMSNavigator.timeToNextDestination
- ซ่อนเวลาถึงโดยประมาณของจุดอ้างอิงปัจจุบันโดยใช้
MSMapView.settings.navigationFooterEnabled=NO
ไปยัง FALSE - แสดงผลเวลาถึงจุดหมายสุดท้าย
- ดึงเวลาและระยะทางของจุดอ้างอิงทุกจุดโดยใช้
- ฉันจะซ่อนการอัปเดตเวลาถึงโดยประมาณได้อย่างไร
-
คุณปิดใช้การ์ดเวลาถึงโดยประมาณได้ด้วยวิธีต่อไปนี้
- ใน Android ให้ใช้
navigationView.setEtaCardEnabled(false)
- ใน iOS ให้ใช้
GMSMapView.settings.navigationFooterEnabled=NO
- ใน Android ให้ใช้
-
ใน Android คุณใช้
StylingOptions
เพื่อตั้งค่าการจัดรูปแบบสีพื้นหลัง หากต้องการซ่อนหรือแสดงส่วนหัวและส่วนท้าย ให้ใช้ฟังก์ชันสมาชิกsetHeaderEnabled
และsetFooterEnabled
ของNavigationFragment
ใน iOS ให้ใช้
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
เพื่อตั้งค่าการจัดรูปแบบสีพื้นหลัง หากต้องการซ่อนหรือแสดงส่วนหัวและส่วนท้าย ให้ใช้พร็อพเพอร์ตี้navigationFooterEnabled
และnavigationHeaderEnabled
ของGMSUISettings
การกำหนดเส้นทาง
- ฉันระบุเส้นทางที่เจาะจงสำหรับคนขับหรือนำเส้นทางอื่นๆ ออกได้ไหม
- ไม่ได้ โดยค่าเริ่มต้น จะมีให้เลือกหลายเส้นทาง ส่วนเส้นทางที่เร็วที่สุดจะมีลำดับความสำคัญอยู่แล้ว คุณดำเนินการกับเส้นทางเริ่มต้นได้ด้วยการเพิ่มค่ากำหนด เช่น "หลีกเลี่ยงทางหลวงและค่าผ่านทาง" ในคำขอ การเพิ่มจุดอ้างอิงก็จะส่งผลต่อเส้นทางด้วย
- ฉันจะแสดงป้ายกำกับปลายทางที่ต่างจากตำแหน่งปลายทางเริ่มต้นแก่ผู้ใช้แอปได้ไหม
-
ใช่ ใน Android ให้สร้าง
Marker
โดยใช้ชื่อที่กำหนดเองสำหรับปลายทางและละติจูด/ลองจิจูด SDK การนำทางจะแสดงชื่อที่กำหนดเองและพิกัดในNavigationMap
ใน iOS คุณสร้างและแสดง
GMSMarker
สำหรับปลายทาง - ฉันใช้ Navigation SDK เพื่อติดตามการเบี่ยงเบนจากเส้นทางที่กำหนดได้ไหม
-
ใช่ ใน Android ให้ใช้
Navigator.setRouteChangedListener
เพื่อรับการแจ้งเตือนเมื่อมีการเปลี่ยนเส้นทางหรือแนะนำให้ใช้เส้นทางใหม่- ลงทะเบียน Listener ที่ตรวจสอบตำแหน่งอุปกรณ์ตลอดเส้นทางโดยใช้เมธอด
Navigator.setRouteChangedListener
- เพิ่มโค้ดลงในเครื่องจัดการเหตุการณ์โค้ดเรียกกลับ
onRouteChanged
:- ส่งข้อความถึงผู้ใช้แอปพร้อมข้อมูลเวลาถึงโดยประมาณและระยะทางที่อัปเดตแล้ว
- ติดตามตำแหน่งของอุปกรณ์
- [ไม่บังคับ] เพิ่มฟังก์ชันการทำงานอื่นๆ ที่แอปต้องใช้ในการจัดการเมื่อคนขับออกนอกเส้นทางที่กำหนด
ใน iOS ให้ใช้
GMSNavigator
และผู้รับมอบสิทธิ์เพื่อรับการแจ้งเตือนเมื่อมีการเปลี่ยนเส้นทางหรือแนะนำให้ใช้เส้นทางใหม่- ใช้โปรโตคอล
GMSNavigatorDelegate
และโปรโตคอลGMSRoadSnappedLocationProviderDelegate
ในตัวควบคุมมุมมองของแผนที่ - นำ
GMSNavigatorDelegate.navigatorDidChangeRoute
ไปใช้ - เข้าถึงเส้นทางใหม่โดยใช้
routeLegs
และพร็อพเพอร์ตี้currentRouteLeg
ของGMSNavigator
- ลงทะเบียน Listener ที่ตรวจสอบตำแหน่งอุปกรณ์ตลอดเส้นทางโดยใช้เมธอด
-
ใช่ ใน Android ให้เรียกใช้เมธอด
Navigator.stopGuidance()
เพื่อหยุดการนำทางใน iOS ให้โทร
GMSNavigator.clearDestinations
เครื่องมือจำลอง
- เครื่องจำลองสนับสนุนการเปลี่ยนเส้นทางหรือไม่
-
ใช่ ใน Android ให้เรียก
simulateLocationsAlongNewRoute
เพื่อจำลองการเดินทางที่มีการเปลี่ยนเส้นทาง เมธอดsimulateLocationsAlongExistingRoute
จะไม่สนใจการเปลี่ยนแปลงเส้นทางที่มีอยู่ใน iOS ให้ใช้
GMSLocationSimulator.simulateAlongNewRouteToDestinations
เพื่อจำลองเส้นทางที่มีการเปลี่ยนเส้นทาง หากไม่ได้คาดว่าจะเปลี่ยนเส้นทาง คุณสามารถใช้GMSLocationSimulator.simulateLocationsAlongExistingRoute
หรือGMSLocationSimulator.simulateAlongNewRouteToDestinations
ได้
เวิร์กโฟลว์
- ฉันจะปิดการแจ้งเตือนได้อย่างไรหลังจากปิดกิจกรรมที่มีส่วนการนำทาง
-
การแจ้งเตือนเกี่ยวกับการนำทางจะยังคงแสดงให้เห็นระหว่างการนำทาง เมื่อกิจกรรมปิดอยู่ เมื่อรถมาถึงจุดหมาย การนำทางจะหยุดลง และการแจ้งเตือนจะหายไป
ในการจัดการการคลิกการแจ้งเตือน ให้ใช้
Navigator.startGuidance(intent resumeIntent)
resume intent
จะเริ่มทำงานเมื่อผู้ใช้คลิกการแจ้งเตือน โดยปกติแล้ว ระบบจะเรียกNavigator.startguidance(getIntent())
จากกิจกรรมหลัก ซึ่งจะเรียกคืนกิจกรรมเมื่อผู้ใช้คลิกการแจ้งเตือน