คำถามที่พบบ่อย
ข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์
- ข้อกำหนด Navigation SDK ควรเป็นอย่างไร ว่ามีประกาศเกี่ยวกับการให้บริการอะไรบ้าง
- การนำทางด้วยเสียงรองรับภาษาใดบ้าง
- มือปืนคงไว้เมื่อคนขับ ออกจากโหมดการนำทางใช่ไหม
- ใช้เส้นประกอบได้หรือไม่เมื่อเริ่มต้น หรือเปลี่ยนเส้นทาง
- ผู้ใช้แอปจำเป็นต้องมี Google Maps ไหม ในอุปกรณ์เคลื่อนที่
- Navigation SDK สามารถ ระบุที่จอดรถใกล้ร้านอาหารและจุดหมายอื่นๆ
- แถบนำทาง SDK แสดงทิศทางการจราจรในเลนเมื่อเข้าใกล้จุดเลี้ยวไหม
- Navigation SDK ใด เฉพาะลูกค้าบริการระบบเคลื่อนที่เท่านั้นจึงจะใช้ API ได้
ปัญหา
เครือข่าย
ข้อมูล
- ฉันจะเรียกดูข้อมูล จุดหยุดพัก/จุดหมายในเส้นทางก่อนเริ่มเส้นทางหรือไม่
- มีคำแนะนำเส้นทางแบบเลี้ยวต่อเลี้ยวหรือไม่ คือจุดเริ่มต้นของเส้นทาง
- เวลาถึงโดยประมาณเป็นอย่างไร (เวลาถึงโดยประมาณ) ในการสื่อสารกับผู้ใช้แอปหรือไม่
RoadSnappedLocationProvider
เพื่อใช้เก็บพัสดุของผู้ขับ ตำแหน่งปัจจุบันที่สแนปไหมหากการนำทางไม่ได้อยู่ในเบื้องหน้า- แถบนำทาง SDK รองรับการกำหนดเขตพื้นที่เสมือนไหม
- ฉันจะปิดการแจ้งเตือนได้ไหม แอปการนำทางทำงานอยู่ในเบื้องหลังหรือไม่
การปรับแต่ง UI
- ฉันใช้โค้ดสีให้ดีที่สุดได้ไหม ตัวเลือกเส้นทาง
- Navigation SDK สามารถ แสดงเวลาถึงโดยประมาณของจุดหมายสุดท้ายไหม
- ฉันจะซ่อนการอัปเดตเวลาถึงโดยประมาณได้อย่างไร
- การปรับแต่ง UI มีอะไรบ้าง ใช้ได้กับการ์ดส่วนหัวและส่วนท้ายไหม
การกำหนดเส้นทาง
- ฉันระบุเส้นทางที่เจาะจงได้ไหม ให้คนขับทราบหรือนำเส้นทางอื่นออก
- ฉันแสดงป้ายกำกับอื่นให้คนขับเห็นได้ไหม สำหรับปลายทางซึ่งไม่ใช่ตำแหน่งปลายทางเริ่มต้นหรือไม่
- ฉันสามารถใช้ 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 Mobile ที่จะติดตั้งในอุปกรณ์
- ไม่ แต่ Navigation SDK ไม่มีฟังก์ชันนี้
- ใช่ ทิศทางการจราจรมีและแสดงโดยค่าเริ่มต้น
- Navigation SDK ใด เฉพาะลูกค้าบริการระบบเคลื่อนที่เท่านั้นจึงจะใช้ API ได้ใช่ไหม
-
API ต่างๆ ใน Navigation SDK ที่มีวัตถุประสงค์เพื่อการใช้งานโดยลูกค้า Mobility Services เท่านั้น ซึ่ง Google จะเรียกเก็บเงินโดย Google สำหรับแต่ละธุรกรรม หากคุณไม่ใช่ลูกค้าบริการระบบเคลื่อนที่ วิธีการต่อไปนี้จะไม่มีผล
ปัญหา
- ใน Xcode 12 แอปไม่ได้สร้างขึ้นมาอย่างถูกต้องสำหรับเครื่องมือจำลอง ฉันจะแก้ไขปัญหานี้ได้อย่างไร
-
ในการแก้ไขปัญหานี้ ให้เปิดการตั้งค่าบิลด์ของโปรเจ็กต์ Xcode และเพิ่ม
arm64
ไปยังExcluded Architectures
สำหรับ "iOS Simulator" งานสร้างเท่านั้นดูข้อมูลเพิ่มเติมได้ที่เทรดสแต็กโอเวอร์โฟลว์ต่อไปนี้
- GMSMapView ไม่โหลด
-
หาก GMSMapView ไม่โหลด ให้ทำดังนี้
- ตรวจสอบว่าเปิดใช้ NavSDK ใน Cloud Console แล้ว
- หากติดตั้ง Nav SDK แล้ว แต่โปรเจ็กต์ของคุณไม่ได้ใช้ Nav SDK API ให้นำออกจากไบนารีของคุณ
เครือข่าย
- 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 ให้ใช้ Listener เพื่อทำให้การนำทางทำงานต่อไปในเบื้องหลัง สำหรับ
GMSRoadSnappedLocationProviderListener
และตั้งค่า พร็อพเพอร์ตี้allowsBackgroundLocationUpdates
เป็นTRUE
- Navigation SDK สนับสนุนการกำหนดเขตพื้นที่เสมือนหรือไม่
-
ไม่ ในบริบทของการนำทาง
remainingTimeOrdistanceChangeListener
มีข้อได้เปรียบเหนือเขตพื้นที่เสมือนที่เรียบง่าย เขตพื้นที่เสมือนอาจไม่เป็นที่พิจารณา รูปเรขาคณิตของถนน และอาจไม่อยู่กึ่งกลางบนจุดที่ คนขับกำลังนำทางอยู่คุณสามารถประมาณฟังก์ชันนี้โดยใช้
remainingTimeOrdistanceChangeListener
- กำหนดเกณฑ์เพื่อกำหนดความถี่ของ Callback
- ตรวจสอบระยะทางที่เหลือไปยังจุดหมาย
เช่น หากตั้งค่าเกณฑ์ไว้ที่ 100 ม. คุณจะได้รับการติดต่อกลับเมื่อระยะทางไปยังปลายทางเปลี่ยนแปลง ยาว 100 เมตร เมื่อระยะทางลดลง คุณอัปเดตเกณฑ์นี้ให้เล็กลงได้ และได้รับการติดต่อกลับบ่อยขึ้น จากนั้นตรวจสอบระยะทางที่เหลือเพื่อ ระบุว่าคุณอยู่ใกล้จุดรับ/ส่งสินค้าหรือไม่
ใน iOS ให้ใช้ Listener
GMSNavigatorListener.didUpdateRemainingDistance
เพื่อจัดการระยะห่างระหว่างการแจ้งเตือน - ฉันสามารถปิดใช้งานการแจ้งเตือนเมื่อแอปการนำทางทำงานในพื้นหลังได้หรือไม่
-
ได้ ใน Android ให้ใช้
Navigator.setHeadsUpNotificationEnabled
เพื่อควบคุมการแจ้งเตือน เมธอดนี้มีอาร์กิวเมนต์บูลีนFALSE
ปิดการแจ้งเตือนTRUE
เปิดใช้การแจ้งเตือนใน iOS ให้ปิดใช้งานการแจ้งเตือนในเบื้องหลังสำหรับสถานที่ที่มีการสับเปลี่ยนถนนโดย การตั้งค่า
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
เป็น NOหากต้องการปิดการประมวลผลข้อมูลในเบื้องหลังสำหรับการแจ้งเตือนตำแหน่งอื่นๆ โปรดโทร
GMSNavigator.sendsBackgroundNotifications(NO)
การปรับแต่ง 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
คุณสร้างและแสดง
GMSMarker
สำหรับปลายทางใน iOS - ฉันสามารถใช้ SDK การนำทางเพื่อติดตามการเบี่ยงเบนจากเส้นทางที่กำหนดได้หรือไม่
-
ได้ ใน Android ให้ใช้
Navigator.setRouteChangedListener
เพื่อ รับการแจ้งเตือนเมื่อมีการเปลี่ยนเส้นทางหรือแนะนำเส้นทางใหม่:- ลงทะเบียน Listener ที่ตรวจสอบตำแหน่งอุปกรณ์ตลอดเส้นทาง
โดยใช้เมธอด
Navigator.setRouteChangedListener
- เพิ่มโค้ดลงในเครื่องจัดการเหตุการณ์ Callback
onRouteChanged
:- ส่งข้อความถึงผู้ใช้แอปพร้อมข้อมูลเวลาถึงโดยประมาณและระยะทางที่อัปเดต
- ติดตามตำแหน่งของอุปกรณ์
- [ไม่บังคับ] เพิ่มฟังก์ชันอื่นๆ ที่แอปต้องใช้ในการจัดการ เมื่อคนขับออกนอกเส้นทางที่กำหนด
ใน iOS ให้ใช้
GMSNavigator
และผู้ฟังเพื่อ รับการแจ้งเตือนเมื่อมีการเปลี่ยนเส้นทางหรือแนะนำเส้นทางใหม่:- ในตัวควบคุมมุมมองแผนที่ ให้ใช้
GMSNavigatorListener
และโปรโตคอลGMSRoadSnappedLocationProviderListener
- ใช้งาน
GMSNavigatorListener.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())
จะเรียกจาก กิจกรรมหลัก ซึ่งจะเรียกคืนกิจกรรมเมื่อผู้ใช้แอปคลิกการแจ้งเตือน