Câu hỏi thường gặp

Thông tin chi tiết về sản phẩm

Mạng

Dữ liệu

Tuỳ chỉnh giao diện người dùng

Đang định tuyến

Trình mô phỏng

Quy trình công việc

Thông tin chi tiết về 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à từng 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ụ. SDK điều hướng sẽ cung cấp tệp văn bản của các điều khoản. 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. Một thiết bị có ngôn ngữ hệ thống mặc định và một ứ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 trong nền. Ứng dụng của bạn sẽ tiếp tục xác định vị trí và duy trì góc phương vị.

Có. Khi một tuyến được tạo hoặc thay đổi, RouteChangeListener sẽ cung cấp các hình nhiều đường.

Không, SDK điều hướng không yêu cầu cài đặt Google Maps dành cho thiết bị di động 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 lưu thông có sẵn và được hiển thị theo mặc định.
SDK điều hướng hỗ trợ những phiên bản nào của JDK?
SDK điều hướng hỗ trợ các phiên bản LTS của Java SE mà Oracle hỗ trợ tích cực. Các phiên bản này được liệt kê là có Dịch vụ hỗ trợ cao cấp trong Lộ trình hỗ trợ của Oracle Java SE.

Mạng

SDK điều hướng xử lý kết nối kém như thế nào?
SDK điều hướng sẽ lưu trước tuyến đường vào bộ nhớ đệm của mỗi hành trình. Thông tin được lưu trước trong bộ nhớ đệm bao gồm thông tin định tuyến trong 15-20 phút và các lựa chọn thay thế tuyến đường trong trường hợp người dùng đi chệch khỏi tuyến đường. SDK điều hướng ước tính vị trí bằng cách sử dụng GPS của thiết bị và các cảm biến.
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 cung cấp thông tin được lưu trước vào bộ nhớ đệm cho hành trình.

Dữ liệu

Tôi có thể truy xuất tất 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 thông tin đường đi của một tuyến đường, hãy gọi Navigator.getRouteSegments().

Có hướng dẫn tuyến đường từng chặng ở đầu tuyến đường không?
Có. SDK điều hướng cung cấp một danh sách các đoạn tuyến. 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ề Giờ đến dự kiến cho người dùng ứng dụng:

  1. Truy xuất thời gian và khoảng cách cho tất cả các điểm tham chiếu bằng Navigator.getTimeAndDistanceList().
  2. Chuyển tiếp thông tin này đến ứng dụng khách giống như cách bạn thực hiện cho thời gian đến dự kiến của người lái xe.
Có thể sử dụng RoadSnappedLocationProvider để lấy thông tin vị trí được chụp nhanh hiện tại của người dùng nếu hoạt động điều hướng không ở nền trước không?

Có. Theo mặc định, RoadSnappedLocationProvider sẽ chạy ở chế độ nền.

SDK điều hướng 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, remainingTimeOrdistanceChangeListener có lợi thế hơn so với khoanh vùng địa lý. Khoanh vùng địa lý có thể không tính đến hình học của đường và có thể không được căn giữa vào điểm chính xác mà người dùng đang di chuyển tới.

Bạn có thể ước chừng tính năng này bằng cách sử dụng remainingTimeOrdistanceChangeListener.

  1. Đặt ngưỡng để xác định tần suất của lệnh gọi lại.
  2. Hãy kiểm tra quãng đường còn lại tới điểm đến.

Ví dụ: nếu đặt ngưỡng thành 100 m, bạn sẽ nhận được lệnh gọi lại khi khoảng cách tới điểm đế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á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 có đủ gần với vị trí nhận/trả xe hay không.

Tôi có thể tắt thông báo khi ứng dụng Chỉ đường chạy trong 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 hàng và trả lại bằng một mã nhận dạng duy nhấ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 sử dụng Dịch vụ di chuyển, bạn nên triển khai NavigationTransactionRecorder để ghi lại bản ghi giao dịch.

Tuỳ chỉnh giao diện người dùng

Tôi có thể tô màu mã lựa chọn tuyến đường tốt nhất không?
Không. Mã hoá bằng màu cho một tuỳ chọn tuyến đường cụ thể hiện chưa được hỗ trợ.
SDK điều hướng có thể hiển thị giờ đế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:

  1. Truy xuất thời gian và khoảng cách cho tất cả các điểm tham chiếu bằng Navigator.getTimeAndDistanceList().
  2. Ẩn thời gian đến dự kiến của điểm tham chiếu hiện tại bằng NavigationFragment.setEtaCardEnabled(false).
  3. Hiển thị thời gian đến dự kiến cuối cù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).

Những cách tuỳ chỉnh giao diện người dùng nào có sẵn cho các thẻ đầu trang và chân trang?

Sử dụng StylingOptions để thiết lập kiểu màu nền. Để ẩn hoặc hiện tiêu đề và chân trang, hãy dùng các hàm thành phần setHeaderEnabledsetFooterEnabled của NavigationFragment.

Đang định tuyến

Tôi có thể cung cấp một tuyến cụ thể cho người dùng hoặc xoá các tuyến 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ể tác độ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 mình. Việc thêm điểm tham chiếu cũng ảnh hưởng đến tuyến đường.
Tôi có thể hiển thị cho người dùng ứng dụng một nhãn cho đích đến khác với vị trí đích đến mặc định không?

Có. Tạo một Marker với tiêu đề tuỳ chỉnh cho điểm đến và vĩ độ/kinh độ. SDK điều hướng hiển thị tiêu đề tuỳ chỉnh và toạ độ trên NavigationMap.

Tôi có thể sử dụng SDK điều hướng để theo dõi các sai lệch 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 một tuyến đường mới được đề xuất:

  1. Đă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 cách sử dụng phương thức Navigator.setRouteChangedListener.
  2. 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 để cập nhật thông tin 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 không đi theo tuyến đường quy định.
Người dùng có thể thoát khỏi điều hướng mà không hoàn thành tuyến đường không?

Có. Gọi phương thức Navigator.stopGuidance() để ngừng điều hướng.

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ức simulateLocationsAlongExistingRoute sẽ 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 có chứa mảnh điều hướng?

Thông báo điều hướng vẫn xuất hiện trong quá trình điều hướng, khi hoạt động bị đóng. Khi xe đến điểm đến, tính năng chỉ đường sẽ dừng lại 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.