คำถามที่พบบ่อย
รายละเอียดผลิตภัณฑ์
- การแจ้งเตือนข้อกำหนดในการให้บริการของ Navigation SDK ควรแสดงอย่างไร
- คำแนะนำด้วยเสียงรองรับภาษาใดบ้าง
- ระบบจะรักษาทิศทางไว้ไหมเมื่อผู้ขับขี่ออกจากโหมดการนําทาง
- Polyline พร้อมใช้งานเมื่อเริ่มหรือเปลี่ยนเส้นทางไหม
- ผู้ใช้แอปต้องติดตั้ง Google Maps บนอุปกรณ์เคลื่อนที่ไหม
- Navigation SDK ระบุที่จอดรถใกล้กับร้านอาหารและจุดหมายอื่นๆ ได้ไหม
- Navigation SDK จะแสดงทิศทางการจราจรในเลนเมื่อใกล้ถึงจุดเลี้ยวไหม
ปัญหา
- ใน Xcode 12 แอปจะคอมไพล์ไม่ถูกต้องสำหรับเครื่องจำลอง ฉันจะแก้ไขปัญหานี้ได้อย่างไร
GMSMapView
ไม่โหลด
เครือข่าย
ข้อมูล
- ฉันจะเรียกข้อมูลจุดจอด/จุดหมายทั้งหมดในการเดินทางก่อนที่จะเริ่มเส้นทางได้ไหม
- คำแนะนำเส้นทางแบบเลี้ยวต่อเลี้ยวจะพร้อมใช้งานตอนเริ่มต้นเส้นทางไหม
- ระบบจะสื่อสารเวลาถึงโดยประมาณ (ETA) กับผู้ใช้แอปอย่างไร
- สามารถใช้
RoadSnappedLocationProvider
เพื่อรับตำแหน่งปัจจุบันที่ปักหมุดไว้ของผู้ขับขี่ได้ไหมหากการนําทางไม่ได้อยู่ในเบื้องหน้า - Navigation SDK รองรับการกำหนดเขตพื้นที่เสมือนไหม
- ฉันจะปิดใช้การแจ้งเตือนเมื่อแอปการนำทางทำงานอยู่เบื้องหลังได้ไหม
การปรับแต่ง UI
- ฉันจะกำหนดรหัสสีให้กับตัวเลือกเส้นทางที่ดีที่สุดได้ไหม
- Navigation SDK แสดงเวลาถึงโดยประมาณสำหรับจุดหมายสุดท้ายได้ไหม
- ฉันจะซ่อนการอัปเดตเวลาถึงโดยประมาณได้อย่างไร
- การปรับแต่ง UI ใดบ้างที่ใช้ได้กับการ์ดส่วนหัวและส่วนท้าย
การกำหนดเส้นทาง
- ฉันจะระบุเส้นทางที่เจาะจงให้คนขับหรือนำเส้นทางอื่นออกได้ไหม
- ฉันจะแสดงป้ายกำกับปลายทางอื่นที่ไม่ใช่สถานที่ปลายทางเริ่มต้นแก่คนขับได้ไหม
- ฉันจะใช้ Navigation SDK เพื่อติดตามการเบี่ยงเบนจากเส้นทางที่กําหนดไว้ได้ไหม
- คนขับจะออกจากการนำทางโดยไม่ทำตามเส้นทางให้เสร็จได้ไหม
เครื่องมือจำลอง
เวิร์กโฟลว์
บริการขนส่งสาธารณะ
- การใช้ Navigation SDK แตกต่างจากลูกค้าบริการข้อมูลตำแหน่งเคลื่อนที่อย่างไร
- ฉันจะทราบได้อย่างไรว่าเป็นลูกค้า Mobility Services
- มีการเรียกเก็บเงิน Navigation SDK อย่างไรสำหรับลูกค้าบริการยานพาหนะ
- Navigation SDK และ API ใดที่ลูกค้า Mobility Services ควรใช้เท่านั้น
- หากฉันเป็นลูกค้า 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 แล้ว
- หากติดตั้ง 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 หากต้องการให้การนําทางทํางานในเบื้องหลัง ให้ใช้ Listener สำหรับ
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
เพื่อรับการแจ้งเตือนเมื่อเส้นทางเปลี่ยนแปลงหรือมีการแนะนำเส้นทางใหม่- ใน ViewController ของแผนที่ ให้ใช้โปรโตคอล
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 ต่างจากเดิมสำหรับลูกค้าบริการยานพาหนะ ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบบริการสำหรับอุปกรณ์เคลื่อนที่
ปัจจุบันผลิตภัณฑ์สำหรับอุปกรณ์เคลื่อนที่มีให้บริการแก่ลูกค้าบางรายเท่านั้น โปรดติดต่อตัวแทนฝ่ายขายเพื่อสอบถามข้อมูลเพิ่มเติม
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