Câu hỏi thường gặp
Chi tiết sản phẩm
- Thông báo về Điều khoản dịch vụ của SDK Điều hướng nên được hiển thị như thế nào?
- Tính năng hướng dẫn bằng giọng nói hỗ trợ những ngôn ngữ nào?
- Hướng có được duy trì khi người dùng thoát khỏi chế độ thao tác không?
- Có thể sử dụng hình nhiều đường khi bắt đầu hoặc thay đổi tuyến đường không?
- Người dùng ứng dụng có cần cài đặt Google Maps dành cho thiết bị di động không?
- Navigation SDK có thể xác định bãi đỗ xe gần nhà hàng và các điểm đến khác không?
- Navigation SDK có cho biết hướng giao thông trong các làn đường khi đến gần điểm rẽ không?
- SDK Điều hướng hỗ trợ những phiên bản JDK nào?
Mạng và khả năng kết nối
- SDK điều hướng xử lý kết nối mạng kém như thế nào?
- SDK điều hướng xử lý tín hiệu GPS kém hoặc bị mất như thế nào?
- Có chế độ ngoại tuyến không?
Dữ liệu
- Tôi có thể truy xuất tất cả các điểm dừng/điểm đến trong một hành trình trước khi bắt đầu tuyến đường không?
- Có hướng dẫn từng chặng ở đầu tuyến đường không?
- Thời gian đến dự kiến (ETA) được thông báo cho người dùng ứng dụng như thế nào?
- Có thể dùng
RoadSnappedLocationProviderđể lấy vị trí hiện tại của người dùng nếu tính năng chỉ đường không ở nền trước không? - Navigation SDK có hỗ trợ tính năng khoanh vùng địa lý không?
- Tôi có thể tắt thông báo khi ứng dụng Điều hướng ở chế độ nền không?
- Làm cách nào để xem nhật ký giao dịch do Google lưu giữ?
Tuỳ chỉnh giao diện người dùng
- Tôi có thể mã hoá màu cho lựa chọn tuyến đường tốt nhất không?
- Navigation SDK có thể cho biết thời gian đến dự kiến của điểm đến cuối cùng không?
- Làm cách nào để ẩn thông tin cập nhật về thời gian đến dự kiến?
- Có những tuỳ chỉnh giao diện người dùng nào cho thẻ đầu trang và chân trang?
Định tuyến
- Tôi có thể cung cấp một tuyến đường cụ thể cho người dùng hoặc xoá các tuyến đường thay thế không?
- Tôi có thể cho người dùng thấy một nhãn khác cho điểm đến thay vì vị trí điểm đến mặc định không?
- Tôi có thể sử dụng SDK chỉ đường để theo dõi các trường hợp đi lệch khỏi tuyến đường đã xác định không?
- Người dùng có thể thoát khỏi chế độ đi theo chỉ dẫn mà không cần hoàn tất tuyến đường không?
- Navigation SDK có hỗ trợ định tuyến và chỉ đường cho xe tải và xe cỡ lớn không?
Trình mô phỏng
Quy trình công việc
Dịch vụ hỗ trợ di chuyển
- Cách sử dụng SDK chỉ đường có gì khác biệt đối với khách hàng của Dịch vụ di chuyển?
- Làm cách nào để biết tôi có phải là khách hàng của Dịch vụ di chuyển hay không?
- Navigation SDK được tính phí như thế nào đối với khách hàng sử dụng Dịch vụ di chuyển?
- Những API nào của SDK Điều hướng chỉ dành cho khách hàng sử dụng Dịch vụ di chuyển?
- Nếu là khách hàng của Dịch vụ di chuyển, tôi có thể sử dụng cách triển khai SDK Điều hướng không phải của Dịch vụ di chuyển không?
Chi tiết sản phẩm
-
Ứng dụng của bạn phải triển khai một hộp thoại có thông báo về Điều khoản dịch vụ của SDK Điều hướng mà mỗi người dùng phải chấp nhận. Hộp thoại này cho phép người dùng đồng ý với Điều khoản dịch vụ. Tệp văn bản của các điều khoản được cung cấp cùng với SDK Điều hướng.
Sử dụng phương thức
NavigationApi.showTermsAndConditionsDialogđể hiển thị hộp thoại chứa các điều khoản. - Mọi ngôn ngữ được Google Maps dành cho thiết bị di động hỗ trợ đều tự động được cung cấp cho SDK Điều hướng. Thiết bị có ngôn ngữ hệ thống mặc định và ứng dụng không thể thay đổi chế độ cài đặt đó; tuy nhiên, ứng dụng có quyền truy cập vào hơn 70 ngôn ngữ.
-
Có. Sau khi bắt đầu,
LocationListenersẽ tiếp tục chạy trong nền. Ứng dụng của bạn tiếp tục bám đường và duy trì hướng đi. -
Có. Khi một tuyến đường được tạo hoặc thay đổi,
RouteChangeListenersẽ cung cấp các hình nhiều đường. - Không, Navigation SDK không yêu cầu cài đặt Google Maps Mobile trên thiết bị.
- Không, SDK Điều hướng hiện không cung cấp tính năng này.
- Có. Hướng giao thông được cung cấp và hiển thị theo mặc định.
- Navigation SDK hỗ trợ những phiên bản JDK nào?
- Navigation SDK hỗ trợ các phiên bản LTS của Java SE được Oracle hỗ trợ tích cực. Các phiên bản này được liệt kê là có Hỗ trợ cao cấp trên Lộ trình hỗ trợ Oracle Java SE.
Mạng và khả năng kết nối
- Navigation SDK xử lý tình trạng kết nối mạng kém như thế nào?
- Navigation SDK lưu trước tuyến đường cho mỗi hành trình vào bộ nhớ đệm. Thông tin được lưu trước vào bộ nhớ đệm bao gồm thông tin định tuyến trong 15-20 phút và các tuyến đường thay thế trong trường hợp người dùng đi chệch khỏi tuyến đường. SDK Điều hướng ước chừng vị trí bằng GPS và cảm biến của thiết bị.
- Navigation SDK xử lý tín hiệu GPS kém hoặc bị mất như thế nào?
-
Sau khi bắt đầu đi theo chỉ dẫn và Navigation SDK nhận được tín hiệu GPS ít nhất một lần, SDK này sẽ hiển thị thông báo "Đang tìm GPS..." trong các trường hợp sau:
- Nếu đã hơn 10 giây kể từ lần gần nhất nhận được tín hiệu GPS.
- Nếu vị trí định tuyến đã di chuyển hơn 500 m kể từ lần gần nhất nhận được tín hiệu GPS.
Nếu SDK không nhận được tín hiệu GPS trong một khoảng thời gian dài, thì tiến trình dọc theo tuyến đường (được biểu thị trong ứng dụng bằng vị trí của chữ V) có thể chậm lại cho đến khi dừng hẳn. Trong trường hợp này, biểu tượng chữ V trên bản đồ sẽ vẫn ở vị trí được chỉ định bởi tín hiệu GPS gần đây nhất. SDK sẽ không tự động thoát khỏi chế độ đi theo chỉ dẫn khi không nhận được tín hiệu GPS. Tuy nhiên, thiết bị có thể không đưa ra được hướng dẫn cho đến khi nhận lại được tín hiệu.
- Có chế độ ngoại tuyến không?
- Không, SDK Điều hướng hiện không cung cấp chế độ ngoại tuyến; tuy nhiên, SDK này cung cấp thông tin được lưu trước vào bộ nhớ đệm cho một hành trình.
Dữ liệu
- Tôi có thể truy xuất tất cả các điểm dừng/điểm đến trong một hành trình trước khi bắt đầu tuyến đường không?
-
Có. Để truy xuất đường đi cho một tuyến đường, hãy gọi
Navigator.getRouteSegments(). - Có hướng dẫn từng chặng ở đầu tuyến đường không?
- Có. Navigation SDK cung cấp danh sách các đoạn đường. Ngoài ra, người dùng có thể vuốt qua thẻ chỉ đường trong tiêu đề để xem từng thao tác.
- Làm cách nào để thông báo ETA cho người dùng ứng dụng?
-
Hãy làm theo các bước sau để cung cấp thông tin về ETA cho người dùng ứng dụng:
- Truy xuất thời gian và khoảng cách cho tất cả điểm tham chiếu bằng cách sử dụng
Navigator.getTimeAndDistanceList(). - Chuyển tiếp thông tin này đến ứng dụng khách như bạn làm với ETA của tài xế.
- Truy xuất thời gian và khoảng cách cho tất cả điểm tham chiếu bằng cách sử dụng
-
Có thể dùng
RoadSnappedLocationProviderđể lấy vị trí hiện tại của người dùng nếu tính năng chỉ đường không ở nền trước không? -
Có.
RoadSnappedLocationProviderchạy ở chế độ nền theo mặc định. - Navigation SDK có hỗ trợ tính năng khoanh vùng địa lý không?
-
Không. Trong bối cảnh điều hướng,
remainingTimeOrdistanceChangeListenercó lợi thế hơn so với khoanh vùng địa lý. Hàng rào địa lý có thể không tính đến hình dạng đường và có thể không nằm ở chính giữa điểm chính xác mà người dùng đang di chuyển đến.Bạn có thể ước chừng tính năng này bằng cách sử dụng
remainingTimeOrdistanceChangeListener.- Đặt ngưỡng để xác định tần suất của lệnh gọi lại.
- Kiểm tra khoảng cách còn lại đến điểm đến.
Ví dụ: nếu đặt ngưỡng là 100 m, bạn sẽ nhận được lệnh gọi lại khi khoảng cách đến đích đến thay đổi 100 m. Khi khoảng cách giảm, bạn có thể cập nhật ngưỡng này thành một giá trị nhỏ hơn và nhận được lệnh gọi lại thường xuyên hơn. Sau đó, hãy kiểm tra quãng đường còn lại để xác định xem bạn có đủ gần vị trí đón/trả khách hay không.
- Tôi có thể tắt thông báo khi ứng dụng Điều hướng ở chế độ nền không?
-
Có. Sử dụng
Navigator.setHeadsUpNotificationEnabledđể kiểm soát thông báo. Phương thức này có một đối số boolean.FALSEtắt thông báo;TRUEbật thông báo. -
Trình ghi giao dịch theo dõi các lượt đến lấy hàng và trả hàng bằng một mã nhận dạng duy nhất. Google ghi lại mã này cho mục đích phân tích sản phẩm. Nếu là khách hàng của Dịch vụ di động, bạn nên triển khai
NavigationTransactionRecorderđể ghi nhật ký giao dịch.
Tuỳ chỉnh giao diện người dùng
- Tôi có thể mã hoá màu cho tuyến đường phù hợp nhất không?
- Không. Hiện tại, chúng tôi không hỗ trợ việc mã hoá màu cho một lựa chọn tuyến đường cụ thể.
- Navigation SDK có thể cho biết thời gian đến dự kiến của điểm đến cuối cùng không?
-
Có. Hãy sử dụng các phương thức sau:
- Truy xuất thời gian và khoảng cách cho tất cả điểm tham chiếu bằng cách sử dụng
Navigator.getTimeAndDistanceList(). - Ẩn ETA của điểm tham chiếu hiện tại bằng cách sử dụng
NavigationFragment.setEtaCardEnabled(false). - Hiển thị thời gian đến dự kiến của điểm đến cuối cùng.
- Truy xuất thời gian và khoảng cách cho tất cả điểm tham chiếu bằng cách sử dụng
- Làm cách nào để ẩn thông tin cập nhật về thời gian đến dự kiến?
-
Bạn có thể tắt thẻ ETA bằng cách gọi
navigationView.setEtaCardEnabled(false). -
Sử dụng
StylingOptionsđể đặt kiểu màu nền. Để ẩn hoặc hiện tiêu đề và chân trang, hãy sử dụng các hàm thành viênsetHeaderEnabledvàsetFooterEnabledcủaNavigationFragment.
Định tuyến
- Tôi có thể cung cấp một tuyến đường cụ thể cho người dùng hoặc xoá các tuyến đường thay thế không?
- Không. Theo mặc định, hệ thống sẽ cung cấp nhiều tuyến đường và ưu tiên tuyến đường nhanh nhất. Bạn có thể ảnh hưởng đến tuyến đường mặc định bằng cách thêm các lựa chọn ưu tiên, chẳng hạn như "tránh đường cao tốc và trạm thu phí" vào yêu cầu của bạn. Việc thêm điểm tham chiếu cũng ảnh hưởng đến tuyến đường.
- Tôi có thể cho người dùng ứng dụng thấy một nhãn khác cho điểm đến so với vị trí điểm đến mặc định không?
-
Có. Tạo
Markercó tiêu đề tuỳ chỉnh cho điểm đến và vĩ độ/kinh độ. SDK chỉ đường sẽ hiển thị tiêu đề tuỳ chỉnh và toạ độ trênNavigationMap. - Tôi có thể sử dụng SDK điều hướng để theo dõi độ lệch khỏi tuyến đường đã xác định không?
-
Có. Sử dụng
Navigator.setRouteChangedListenerđể nhận thông báo khi tuyến đường thay đổi hoặc khi có tuyến đường mới được đề xuất:- Đăng ký một trình nghe để kiểm tra vị trí của thiết bị dọc theo tuyến đường bằng phương thức
Navigator.setRouteChangedListener. - Thêm mã vào trình xử lý sự kiện gọi lại,
onRouteChanged:- Gửi tin nhắn cho người dùng ứng dụng kèm theo thông tin cập nhật về ETA và khoảng cách.
- Theo dõi vị trí của thiết bị.
- [không bắt buộc] Thêm các tính năng khác mà ứng dụng của bạn cần để xử lý khi người dùng đi chệch khỏi tuyến đường đã chỉ định.
- Đăng ký một trình nghe để kiểm tra vị trí của thiết bị dọc theo tuyến đường bằng phương thức
-
Có. Gọi phương thức
Navigator.stopGuidanceđể dừng điều hướng. - Navigation SDK có hỗ trợ tính năng định tuyến và chỉ đường cho xe tải và xe cỡ lớn không?
-
Có. Với tính năng định tuyến xe lớn (LVR), bạn có thể truyền mã thông báo tuyến đường dành riêng cho xe tải do Routes API hoặc Route Optimization API tạo đến SDK Điều hướng. SDK này cung cấp tính năng chỉ đường từng chặng kèm theo chú thích về tuyến đường (chiều cao, trọng lượng, vật liệu nguy hiểm và các quy định hạn chế đối với xe tải) và duy trì hồ sơ vật lý của xe trong quá trình đổi tuyến đường linh động. Để biết thông tin chi tiết, hãy xem bài viết Đi theo tuyến đường dành cho xe lớn.
Trình mô phỏng
- Trình mô phỏng có hỗ trợ thay đổi tuyến đường không?
-
Có. Gọi
simulateLocationsAlongNewRouteđể mô phỏng một hành trình có thay đổi tuyến đường. Phương thứcsimulateLocationsAlongExistingRoutesẽ bỏ qua các thay đổi đối với tuyến hiện có.
Quy trình công việc
- Làm cách nào để đóng thông báo sau khi đóng một hoạt động chứa mảnh điều hướng?
-
Thông báo chỉ đường vẫn hiển thị trong khi đi theo chỉ dẫn, khi hoạt động bị đóng. Khi xe đến điểm đến, tính năng chỉ đường sẽ dừng và thông báo sẽ biến mất.
Để xử lý các lượt nhấp vào thông báo, hãy sử dụng
Navigator.startGuidance(intent resumeIntent).resume intentkích hoạt khi người dùng ứng dụng nhấp vào thông báo. Thông thường,Navigator.startguidance(getIntent())được gọi từ Hoạt động chính, hoạt động này sẽ gọi lại Hoạt động khi người dùng ứng dụng nhấp vào thông báo.
Dịch vụ hỗ trợ di chuyển
Dịch vụ di chuyển của Google Maps Platform cung cấp một tập hợp các API và SDK để giúp hỗ trợ nhu cầu của doanh nghiệp trong lĩnh vực vận tải và hậu cần. Đối với khách hàng của Dịch vụ di chuyển, SDK Điều hướng thường được dùng cùng với các dịch vụ liên quan để tối ưu hoá tuyến đường, điều phối, theo dõi nhiệm vụ, phân tích đội xe, v.v. Navigation SDK cũng được tính phí theo cách khác đối với khách hàng sử dụng Dịch vụ di chuyển. Để biết thêm thông tin, hãy xem tài liệu về Dịch vụ di chuyển.
Các sản phẩm di động hiện chỉ được cung cấp cho một số khách hàng. Hãy liên hệ với người đại diện bán hàng của bạn để biết thêm thông tin.
ReportBillableEvent trong mã của bạn. Chỉ khách hàng của Dịch vụ di chuyển mới được gọi phương thức ReportBillableEvent.
Có một số API trong SDK Điều hướng chỉ dành cho khách hàng sử dụng Dịch vụ di động, những người được Google tính phí theo từng giao dịch. Nếu bạn không phải là khách hàng của Dịch vụ di chuyển, thì các phương thức sau đây sẽ không hoạt động:
Có, khách hàng của Dịch vụ di chuyển có thể sử dụng cả cách triển khai Dịch vụ di chuyển và không phải Dịch vụ di chuyển của SDK Điều hướng. Tuy nhiên, bạn chỉ có thể sử dụng một loại phương thức triển khai trong một ứng dụng tại một thời điểm. Bạn cũng cần tạo một dự án trên đám mây của Google Cloud, tài khoản thanh toán và khoá API mới, tách biệt với những dự án, tài khoản và khoá mà bạn dùng cho quá trình triển khai Dịch vụ di động. Để biết thêm thông tin, hãy xem tổng quan về cách thiết lập SDK Điều hướng.
Để biết thêm thông tin về cách sử dụng SDK Điều hướng không phải của Dịch vụ di chuyển, bao gồm cả việc di chuyển ứng dụng từ loại triển khai này sang loại triển khai khác, hãy liên hệ với nhân viên phụ trách khách hàng của Google.
Lưu ý: Nếu bạn hiện không phải là khách hàng của Dịch vụ di động và muốn tìm hiểu thêm về tập hợp API và SDK của Dịch vụ di động, hãy liên hệ với nhóm bán hàng của Nền tảng Google Maps.