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 Navigation SDK sẽ xuất hiện như thế nào?
- 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 chế độ chỉ đường không?
- Có đường nhiều đoạn 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 trên thiết bị di động không?
- Navigation SDK có thể xác định vị trí đỗ xe gần nhà hàng và các điểm đến khác không?
- Navigation SDK có hiển thị hướng lưu thông trong các làn đường khi đến gần một điểm rẽ không?
- Navigation SDK hỗ trợ những phiên bản JDK nào?
Mạng và 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 xử lý tín hiệu GPS yếu 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/đích đế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 đường đi ở đầu tuyến đường không?
- Thông tin về 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 điều chỉnh của người dùng nếu chế độ điều hướng không ở nền trước không? - Navigation SDK có hỗ trợ hàng rào địa lý không?
- Tôi có thể tắt thông báo khi ứng dụng Chỉ đườ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 cho đích đế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?
- Những nội dung tuỳ chỉnh giao diện người dùng nào có sẵn cho thẻ tiêu đề 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 vị trí đích đến so với vị trí đích đến mặc định không?
- Tôi có thể sử dụng Navigation SDK để theo dõi những điểm khác biệt so với một đường dẫn đã xác định không?
- Người dùng có thể thoát khỏi chế độ chỉ đường mà không cần hoàn tất tuyến đường không?
Trình mô phỏng
Quy trình công việc
Dịch vụ hỗ trợ di chuyển
- Việc sử dụng Navigation SDK có gì khác biệt đối với khách hàng của Mobility Services?
- Làm cách nào để biết tôi có phải là khách hàng của Dịch vụ di động hay không?
- Khách hàng sử dụng Dịch vụ di động sẽ bị tính phí Navigation SDK như thế nào?
- Khách hàng của Mobility Services chỉ nên sử dụng những API nào của Navigation SDK?
- Nếu là khách hàng của Dịch vụ di chuyển, tôi có thể sử dụng một phiên bản triển khai Navigation SDK 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 Navigation SDK 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ụ. Một tệp văn bản chứa các điều khoản được cung cấp cùng với Navigation SDK.
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ữ mà Google Maps trên thiết bị di động hỗ trợ đều tự động có sẵn cho Navigation SDK. 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,
LocationListener
sẽ tiếp tục chạy ở chế độ nền. Ứng dụng của bạn tiếp tục điều chỉnh vị trí cho phù hợp với đường và duy trì hướng đi. -
Có. Khi một tuyến đường được tạo hoặc thay đổi,
RouteChangeListener
sẽ cung cấp nhiều đường. - Không, Navigation SDK không yêu cầu bạn cài đặt Google Maps trên thiết bị di động trên thiết bị.
- Không, Navigation SDK hiện không cung cấp tính năng này.
- Có. Hướng lưu lượng truy cập có sẵn và được 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 mà Oracle đang hỗ trợ. Các phiên bản này được liệt kê là có Premier Support (Hỗ trợ cao cấp) trong Lộ trình hỗ trợ Oracle Java SE.
Mạng và 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 vào bộ nhớ đệm tuyến đường cho mỗi hành trình. Thông tin được lưu vào bộ nhớ đệm trước bao gồm thông tin định tuyến trong 15 đến 20 phút và các tuyến đường thay thế trong trường hợp người dùng đi lệch khỏi tuyến đường. Navigation SDK ước tính vị trí bằng cách sử dụng GPS và các cảm biến trên thiết bị.
- Navigation SDK xử lý tín hiệu GPS yếu hoặc bị mất như thế nào?
-
Sau khi quá trình chỉ đường bắt đầu 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 kiếm GPS..." trong những trường hợp sau:
- Nếu đã quá 10 giây kể từ lần gần đây nhất thiết bị 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 đây 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 dấu ngoặc nhọn) có thể chậm lại cho đến khi dừng hẳn. Trong trường hợp này, dấu hình chữ V trên bản đồ sẽ vẫn ở vị trí được chỉ báo bằng tín hiệu GPS gần đây nhất. SDK sẽ không tự động thoát chế độ chỉ đường do không nhận được tín hiệu GPS. Tuy nhiên, có thể thiết bị sẽ không hướng dẫn được cho đến khi nhận được tín hiệu trở lại.
- Có chế độ ngoại tuyến không?
- Không, Navigation SDK hiện không cung cấp chế độ ngoại tuyến; tuy nhiên, SDK có cung cấp thông tin được lưu vào bộ nhớ đệm trước 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/đích đế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 chỉ đường theo từng chặng khi bắt đầu một 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.
- ETA được thông báo cho người dùng ứng dụng như thế nào?
-
Hãy làm theo các bước sau để cung cấp thông tin về thời gian dự kiến đến cho người dùng ứng dụng:
- Truy xuất thời gian và khoảng cách cho tất cả các điểm đánh dấ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 đối với ETA của người lái xe.
- Truy xuất thời gian và khoảng cách cho tất cả các điểm đánh dấu bằng cách sử dụng
-
Có thể dùng
RoadSnappedLocationProvider
để lấy vị trí hiện tại đã được điều chỉnh của người dùng nếu chế độ điều hướng không ở nền trước không? -
Có. Theo mặc định,
RoadSnappedLocationProvider
chạy ở chế độ nền. - Navigation SDK có hỗ trợ hàng rào địa lý không?
-
Không. Trong bối cảnh điều hướng,
remainingTimeOrdistanceChangeListener
có 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 được đặt ở chính xác điểm 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 các 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 bạn đặt ngưỡng là 100 mét, bạn sẽ nhận được một lệnh gọi lại khi khoảng cách đến đích đến thay đổi 100 mét. 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 các lệnh gọi lại thường xuyên hơn. Sau đó, hãy kiểm tra khoảng cách còn lại để xác định xem bạn đã đến gần vị trí đón/trả khách hay chưa.
- 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.FALSE
tắt thông báo;TRUE
bật thông báo. -
Trình ghi giao dịch theo dõi các lượt đến lấy và trả hàng bằng một mã nhận dạng riêng biệt mà Google ghi lại 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 chuyển, bạn nên triển khai
NavigationTransactionRecorder
để ghi lại hồ sơ giao dịch.
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?
- Không. Hiện tại, chúng tôi chưa hỗ trợ tính năng 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 cho đ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ả các điểm đánh dấu bằng cách sử dụng
Navigator.getTimeAndDistanceList()
. - Ẩn thời gian đến dự kiến 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ả các điểm đánh dấu bằng cách sử dụng
- Làm cách nào để ẩn thông tin cập nhật về ETA?
-
Bạn có thể tắt thẻ thời gian đến dự kiến 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ênsetHeaderEnabled
vàsetFooterEnabled
củ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à tuyến đường nhanh nhất sẽ được ưu tiên. 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à đường có thu phí", vào yêu cầu của mình. 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 vị trí đích đến so với vị trí đích đến mặc định không?
-
Có. Tạo
Marker
có tiêu đề tuỳ chỉnh cho đích đến và vĩ độ/kinh độ. Navigation SDK sẽ hiển thị tiêu đề tuỳ chỉnh và toạ độ trênNavigationMap
. - Tôi có thể dùng Navigation SDK để theo dõi những điểm khác biệt so với một đường dẫn đã xác định không?
-
Có. Sử dụng
Navigator.setRouteChangedListener
để nhận thông báo khi một tuyến đường thay đổi hoặc 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 thông báo cho người dùng ứng dụng kèm theo thông tin mới nhất về thời gian đến dự kiến 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 yêu cầu để xử lý khi người dùng đi sai tuyến đường đã đị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.
Trình mô phỏng
- Trình mô phỏng có hỗ trợ các thay đổi về 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ứcsimulateLocationsAlongExistingRoute
bỏ qua các thay đổi đối với tuyến đường 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 có chứa một mảnh điều hướng?
-
Thông báo chỉ đường vẫn xuất hiện trong quá trình chỉ đường, khi hoạt động bị đóng. Khi xe đến điểm đến, chế độ 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 intent
sẽ kí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
Google Maps Platform Mobility Services cung cấp một bộ API và SDK để hỗ trợ nhu cầu của doanh nghiệp đối với các công ty vận tải và logistics. Đối với khách hàng sử dụng Dịch vụ di chuyển, Navigation SDK 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 công việc, phân tích đội xe và nhiều dịch vụ khác. 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 động. Để biết thêm thông tin, hãy xem tài liệu về Dịch vụ di động.
Các sản phẩm về tính 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 động mới nên gọi phương thức ReportBillableEvent
.
Navigation SDK có một số API chỉ dành cho khách hàng của Mobility Services. Những khách hàng này sẽ đượ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 động, thì các phương thức sau đây sẽ không hoạt động:
Có, khách hàng của Mobility Services có thể sử dụng cả các phương thức triển khai Mobility Services và các phương thức triển khai không phải Mobility Services của Navigation SDK. Tuy nhiên, mỗi lần, bạn chỉ có thể sử dụng một loại triển khai trong một ứng dụng. Bạn cũng cần tạo một dự án 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 với việc triển khai Dịch vụ di động. Để biết thêm thông tin, hãy xem phần tổng quan về việc thiết lập Navigation SDK.
Để biết thêm thông tin về cách sử dụng một chế độ triển khai Navigation SDK không phải là Mobility Services, bao gồm cả việc di chuyển một ứ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 người đại diện Tài khoản Google của bạn.
Lưu ý: Nếu bạn hiện không phải là khách hàng của Dịch vụ di chuyển và muốn tìm hiểu thêm về bộ API và SDK của Dịch vụ di chuyển, hãy liên hệ với nhóm bán hàng của Google Maps Platform.