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