คำถามที่พบบ่อย
รายละเอียดสินค้า
- ควรแสดงประกาศข้อกำหนดในการให้บริการของ Navigation SDK อย่างไร
- การนำทางด้วยเสียงรองรับภาษาใดบ้าง
- จะยังคงรักษาทิศทางไว้เมื่อคนขับ ออกจากโหมดการนำทางหรือไม่
- เส้นหลายส่วนพร้อมใช้งานเมื่อเริ่ม หรือเปลี่ยนเส้นทางไหม
- ผู้ใช้แอปจำเป็นต้องติดตั้ง Google Maps บนอุปกรณ์เคลื่อนที่ไหม
- Navigation SDK ระบุที่จอดรถใกล้ร้านอาหารและจุดหมายอื่นๆ ได้ไหม
- Navigation SDK แสดงทิศทางการจราจรในเลนเมื่อเข้าใกล้จุดเลี้ยวหรือไม่
ปัญหา
เครือข่าย
ข้อมูล
- ฉันจะดึงข้อมูลป้ายจอดรถ/จุดหมายทั้งหมด ในการเดินทางก่อนเริ่มเส้นทางได้ไหม
- มีคำแนะนำเส้นทางแบบเลี้ยวต่อเลี้ยว ที่จุดเริ่มต้นของเส้นทางไหม
- ระบบจะแจ้งเวลาถึงโดยประมาณ (ETA) ให้ผู้ใช้แอปทราบอย่างไร
- ใช้
RoadSnappedLocationProviderเพื่อรับตำแหน่งปัจจุบันที่สแนปของคนขับ ได้ไหมหากการนำทางไม่ได้อยู่ในเบื้องหน้า - Navigation SDK รองรับ Geofencing ไหม
- ฉันปิดใช้การแจ้งเตือนเมื่อแอปนำทางทำงานในเบื้องหลังได้ไหม
การปรับแต่ง UI
- ฉันจะกำหนดรหัสสีให้กับตัวเลือกเส้นทางที่ดีที่สุดได้ไหม
- Navigation SDK แสดง ETA สำหรับจุดหมายปลายทางสุดท้ายได้ไหม
- ฉันจะซ่อนการอัปเดตเวลาถึงโดยประมาณได้อย่างไร
- การปรับแต่ง UI ใดบ้างที่ใช้ได้กับการ์ดส่วนหัวและส่วนท้าย
การกำหนดเส้นทาง
- ฉันจะระบุเส้นทางที่เจาะจงให้คนขับหรือนำเส้นทางอื่นออกได้ไหม
- ฉันแสดงป้ายกำกับอื่นให้คนขับเห็นสำหรับปลายทาง แทนที่จะเป็นตำแหน่งปลายทางเริ่มต้นได้ไหม
- ฉันใช้ Navigation SDK เพื่อติดตามการเบี่ยงเบนจากเส้นทางที่กำหนดได้ไหม
- คนขับจะออกจากการนำทางโดยไม่ สิ้นสุดเส้นทางได้ไหม
- Navigation SDK รองรับการกำหนดเส้นทางและการนำทางสำหรับรถบรรทุกและรถขนาดใหญ่ไหม
เครื่องมือจำลอง
เวิร์กโฟลว์
บริการด้านการเดินทาง
- การใช้ Navigation SDK แตกต่างกันอย่างไรสำหรับลูกค้าบริการการเดินทาง
- ฉันจะทราบได้อย่างไรว่าฉันเป็นลูกค้าบริการด้านการเคลื่อนย้าย
- ระบบจะเรียกเก็บเงิน Navigation SDK จากลูกค้าบริการการเดินทางอย่างไร
- API ใดของ Navigation SDK ที่ควรใช้โดยลูกค้าบริการด้านการเดินทางเท่านั้น
- หากฉันเป็นลูกค้า 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 ให้นำ Nav 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() - ส่งต่อข้อมูลนี้ไปยังแอปพลิเคชันไคลเอ็นต์เช่นเดียวกับที่ทำกับ ETA ของคนขับ
ใน iOS ให้ทำตามขั้นตอนต่อไปนี้เพื่อแสดงข้อมูลเวลาถึงโดยประมาณแก่ผู้ใช้แอป
- ดึงข้อมูลช่วงในเส้นทางโดยใช้
Navigator.getRouteSegments() - โทรหา
GMSNavigator.timeToNextDestinationสำหรับการเดินทางแต่ละช่วง - ส่งต่อข้อมูลเวลาไปยังแอปพลิเคชันไคลเอ็นต์เช่นเดียวกับที่คุณทำสำหรับเวลาถึงโดยประมาณของคนขับ
- เรียกเวลาและระยะทางสำหรับจุดแวะพักทั้งหมดโดยใช้
-
สามารถใช้
RoadSnappedLocationProviderเพื่อรับตำแหน่งปัจจุบันที่สแนปของคนขับได้ไหมหากการนำทางไม่ได้อยู่ในเบื้องหน้า -
ได้ ใน Android
RoadSnappedLocationProviderจะทำงานใน เบื้องหลังโดยค่าเริ่มต้นใน iOS หากต้องการให้การนำทางทำงานในเบื้องหลัง ให้ใช้ Listener สำหรับ
GMSRoadSnappedLocationProviderListenerและตั้งค่าพร็อพเพอร์ตี้allowsBackgroundLocationUpdatesเป็นTRUE - Navigation SDK รองรับ Geofencing ไหม
-
ไม่ ในบริบทของการนำทาง
remainingTimeOrdistanceChangeListenerได้เปรียบกว่ารั้วภูมิศาสตร์ รั้วภูมิศาสตร์อาจไม่คำนึงถึง รูปทรงเรขาคณิตของถนน และอาจไม่ได้อยู่ตรงจุดที่ คนขับกำลังนำทางคุณสามารถประมาณฟังก์ชันนี้ได้โดยใช้
remainingTimeOrdistanceChangeListener- กำหนดเกณฑ์เพื่อระบุความถี่ของการเรียกกลับ
- ตรวจสอบระยะทางที่เหลือไปยังจุดหมาย
เช่น หากตั้งค่าเกณฑ์เป็น 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) - แสดงผล ETA ของจุดหมายสุดท้าย
ใน 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 - เพิ่มโค้ดลงในเครื่องจัดการเหตุการณ์ Callback
onRouteChangedดังนี้- ส่งข้อความถึงผู้ใช้แอปพร้อมข้อมูลเวลาถึงโดยประมาณและระยะทางที่อัปเดต
- ติดตามตำแหน่งของอุปกรณ์
- [ไม่บังคับ] เพิ่มฟังก์ชันอื่นๆ ที่แอปของคุณต้องใช้เพื่อจัดการ เมื่อคนขับไม่ได้อยู่บนเส้นทางที่กำหนด
ใน iOS ให้ใช้
GMSNavigatorและ Listener เพื่อ รับการแจ้งเตือนเมื่อมีการเปลี่ยนแปลงเส้นทางหรือมีการแนะนำเส้นทางใหม่- ในตัวควบคุมมุมมองของแผนที่ ให้ใช้โปรโตคอล
GMSNavigatorListenerและโปรโตคอลGMSRoadSnappedLocationProviderListener - ใช้
GMSNavigatorListener.navigatorDidChangeRoute - เข้าถึงเส้นทางใหม่โดยใช้พร็อพเพอร์ตี้
routeLegsและcurrentRouteLegของGMSNavigator
- ลงทะเบียน Listener ที่ตรวจสอบตำแหน่งอุปกรณ์ตามเส้นทาง
โดยใช้วิธี
-
ได้ ใน Android ให้เรียกใช้เมธอด
Navigator.stopGuidance()เพื่อ หยุดการนำทางใน iOS ให้โทรหา
GMSNavigator.clearDestinations - Navigation SDK รองรับการกำหนดเส้นทางและการนำทางสำหรับรถบรรทุกและยานพาหนะขนาดใหญ่ไหม
-
ได้ การกำหนดเส้นทางสำหรับยานพาหนะขนาดใหญ่ (LVR) ช่วยให้คุณส่งโทเค็นเส้นทางเฉพาะรถบรรทุกที่สร้างโดย Routes API หรือ Route Optimization API ไปยัง Navigation SDK ได้ SDK จะให้การนำทางแบบเลี้ยวต่อเลี้ยวพร้อมข้อความไฮไลต์เส้นทาง (ข้อจำกัดด้านความสูง น้ำหนัก วัตถุอันตราย และรถบรรทุก) และจะคงโปรไฟล์ทางกายภาพของยานพาหนะไว้ในระหว่างการเปลี่ยนเส้นทางแบบไดนามิก ดูรายละเอียดได้ที่นำทางเส้นทางยานพาหนะขนาดใหญ่
เครื่องมือจำลอง
- เครื่องจำลองรองรับการเปลี่ยนแปลงเส้นทางไหม
-
ได้ ใน Android ให้เรียกใช้
simulateLocationsAlongNewRouteเพื่อ จำลองการเดินทางที่มีการเปลี่ยนเส้นทาง เมธอดsimulateLocationsAlongExistingRouteจะไม่สนใจการเปลี่ยนแปลงเส้นทางที่มีอยู่ใน iOS ให้ใช้
GMSLocationSimulator.simulateAlongNewRouteToDestinationsเพื่อจำลองการเดินทางที่มีการเปลี่ยนเส้นทาง หากคุณไม่คาดการณ์ การเปลี่ยนแปลงเส้นทางใดๆ คุณสามารถใช้GMSLocationSimulator.simulateLocationsAlongExistingRouteหรือGMSLocationSimulator.simulateAlongNewRouteToDestinationsได้
เวิร์กโฟลว์
- ฉันจะปิดการแจ้งเตือนหลังจากปิดกิจกรรมที่มี Navigation Fragment ได้อย่างไร
-
การแจ้งเตือนการนำทางจะยังคงแสดงอยู่ระหว่างการนำทางเมื่อปิดกิจกรรม เมื่อรถยนต์มาถึง จุดหมาย การนำทางจะหยุดลงและการแจ้งเตือนจะหายไป
หากต้องการจัดการการคลิกในการแจ้งเตือน ให้ใช้
Navigator.startGuidance(intent resumeIntent)resume intentจะทํางานเมื่อผู้ใช้แอปคลิกการแจ้งเตือน โดยปกติแล้วNavigator.startguidance(getIntent())จะเรียกจาก Activity หลัก ซึ่งจะเรียก Activity อีกครั้งเมื่อผู้ใช้แอปคลิกการแจ้งเตือน
บริการคมนาคมขนส่ง
บริการด้านการเดินทางของ Google Maps Platform มีคอลเล็กชัน API และ SDK เพื่อช่วยสนับสนุนความต้องการขององค์กรสำหรับธุรกิจการขนส่งและโลจิสติกส์ สำหรับลูกค้าที่ใช้บริการการเดินทาง โดยทั่วไปแล้วจะใช้ Navigation SDK ร่วมกับบริการที่เกี่ยวข้องเพื่อเพิ่มประสิทธิภาพเส้นทาง การมอบหมายงาน การติดตามงาน ข้อมูลวิเคราะห์กลุ่มยานพาหนะ และอื่นๆ นอกจากนี้ ระบบยังเรียกเก็บเงินแตกต่างกันสำหรับลูกค้า Mobility Services ที่ใช้ Navigation SDK ด้วย ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของบริการการเดินทาง
ผลิตภัณฑ์ Mobility มีให้บริการแก่ลูกค้าบางรายเท่านั้น โปรดติดต่อตัวแทนฝ่ายขายเพื่อสอบถามข้อมูลเพิ่มเติม
ReportBillableEvent ในโค้ด เฉพาะลูกค้า Mobility Services เท่านั้นที่ควรเรียกใช้ReportBillableEvent method
มี API หลายรายการใน Navigation SDK ที่มีไว้สำหรับลูกค้าบริการด้านการเดินทางเท่านั้น ซึ่ง Google จะเรียกเก็บเงินเป็นรายธุรกรรม หากคุณไม่ใช่ลูกค้าของ Mobility Services วิธีต่อไปนี้จะไม่มีการดำเนินการ
ได้ ลูกค้า Mobility Services สามารถใช้ทั้งการติดตั้งใช้งาน Mobility Services และการติดตั้งใช้งานที่ไม่ใช่ Mobility Services ของ Navigation SDK อย่างไรก็ตาม คุณจะใช้การติดตั้งใช้งานได้เพียงประเภทเดียวในแอป ณ เวลาหนึ่งๆ นอกจากนี้ คุณยังต้องสร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google, บัญชีสำหรับการเรียกเก็บเงิน และคีย์ API ใหม่แยกต่างหากจากที่ใช้กับการติดตั้งใช้งานบริการคมนาคมขนส่ง ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการตั้งค่า Navigation SDK
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้การติดตั้งใช้งาน Navigation SDK ที่ไม่ใช่ Mobility Services รวมถึงการย้ายข้อมูลแอปจากประเภทการติดตั้งใช้งานหนึ่งไปยังอีกประเภทหนึ่งได้โดยติดต่อตัวแทนฝ่ายดูแลลูกค้าของ Google
หมายเหตุ: หากคุณไม่ใช่ลูกค้า Mobility Services และสนใจดูข้อมูลเพิ่มเติมเกี่ยวกับคอลเล็กชัน API และ SDK ของ Mobility Services โปรดติดต่อทีมขายของ Google Maps Platform