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

Chi tiết sản phẩm

Mạng và khả năng kết nối

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

Dịch vụ hỗ trợ di chuyển

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 Đ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ữ mà Google Maps Mobile hỗ trợ sẽ tự động có sẵn cho Navigation SDK. Thiết bị có một 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 chụp nhanh vị trí trên đường và duy trì phương vị.

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

Không, SDK chỉ đường không yêu cầu bạn phải 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ó. Theo mặc định, hướng lưu lượng truy cập sẽ có sẵn và hiển thị.
SDK Điều hướng 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 tích cực hỗ trợ. Các phiên bản này được liệt kê là có Dịch vụ 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. 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 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 tính vị trí bằng cách sử dụng GPS và cảm biến của 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 bắt đầu chỉ đường và SDK chỉ đường nhận được ít nhất một lần tín hiệu GPS, SDK chỉ đường sẽ hiển thị thông báo "Tìm kiếm GPS..." trong các trường hợp sau:

  • Nếu đã hơn 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 chỉ báo trong ứng dụng bằng vị trí của dấu mũi tên kép) có thể bị chậm lại cho đến khi dừng hoàn toàn. Trong trường hợp này, biểu tượng mũi tên trên bản đồ sẽ vẫn ở vị trí được chỉ báo bởi tín hiệu GPS gần đây nhất. SDK sẽ không tự động thoát khỏi chế độ điều hướng do không nhận được tín hiệu GPS. Tuy nhiên, thiết bị này có thể không cung cấp được hướng dẫn cho đến khi nhận lại tín hiệu.

Có chế độ ngoại tuyến không?
Không, SDK chỉ đườ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 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 đường đi từng chặng ở đầu tuyến đường không?
Có. SDK Điều hướng cung cấp 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.
Thời gian đến dự kiến đượ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ề ETA 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 trung gian bằng cách sử dụng Navigator.getTimeAndDistanceList().
  2. 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 trình điều khiển.
Có thể sử dụng RoadSnappedLocationProvider để lấy vị trí chụp nhanh hiện tại của người dùng nếu tính năng điều hướng không ở nền trước không?

Có. RoadSnappedLocationProvider chạ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, remainingTimeOrdistanceChangeListener có lợi thế hơn so với khoanh vùng địa lý. Ranh giới địa lý có thể không tính đến hình học đườ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.

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

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

Tôi có thể tắt thông báo khi ứng dụng Chỉ đường đang chạy ở 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 lại giao dịch theo dõi các lượt lấy hàng và trả hàng 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 của Dịch vụ di chuyển, bạn nên triển khai NavigationTransactionRecorder để ghi lại 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 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ợ việc mã hoá màu cho một tuỳ chọn tuyến đường cụ thể.
Navigation SDK có thể hiển thị ETA cho đích đến cuối cùng không?

Có. 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 trung gian bằng cách sử dụng Navigator.getTimeAndDistanceList().
  2. Ẩn ETA của điểm trung gian hiện tại bằng cách sử dụng NavigationFragment.setEtaCardEnabled(false).
  3. Hiển thị thời gian đến dự kiến của điểm đến cuối cùng.
Làm cách nào để ẩn thông tin cập nhật về ETA?

Bạn có thể tắt thẻ ETA bằng cách gọi navigationView.setEtaCardEnabled(false).

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

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ên setHeaderEnabledsetFooterEnabled của NavigationFragment.

Đang đị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 xa đường cao tốc và đường thu phí" vào yêu cầu của mình. Việc thêm điểm trung gian 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 khác cho đí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 độ. 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 Navigation SDK để theo dõi các điểm 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 thay đổi hoặc đề xuất một tuyến mới:

  1. Đăng ký trình nghe kiểm tra vị trí thiết bị dọc theo tuyến đường bằ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 thông báo cho người dùng ứng dụng kèm theo thông tin cập nhật về thời gian đế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 ra khỏi tuyến đường đã chỉ định.
Người dùng có thể thoát khỏi tính năng chỉ đường mà không cần hoàn tất tuyến đường không?

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ợ 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 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 chứa mảnh điều hướng?

Thông báo điều hướng vẫn hiển thị trong khi điều hướng, khi hoạt động bị đóng. Khi xe đến đích, 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 intent 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

Khách hàng sử dụng Dịch vụ di động có thể sử dụng Navigation SDK như thế nào?

Dịch vụ di chuyển của Nền tảng Google Maps cung cấp một bộ sưu tập API và SDK để hỗ trợ nhu cầu của doanh nghiệp đối với các doanh nghiệp vận tải và hậu cần. Đối với khách hàng sử dụng Dịch vụ di động, SDK chỉ đườ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 công việc, phân tích đội xe, v.v. Navigation SDK cũng được tính phí theo cách khác cho 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 chuyển.

Các sản phẩm di động hiện chỉ dành 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.

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?
Nếu bạn không chắc liệu mình có đang triển khai SDK Điều hướng dưới dạng khách hàng Dịch vụ di chuyển hay không, hãy tìm lệnh gọi ReportBillableEvent trong mã của bạn. Chỉ khách hàng của Dịch vụ di động mới được gọi phương thức ReportBillableEvent.

Cách tính phí Navigation SDK cho khách hàng Dịch vụ di động là gì?
Đối với khách hàng sử dụng Dịch vụ di động, việc thanh toán và định giá cho SDK chỉ đường phụ thuộc vào thoả thuận dịch vụ mà bạn có với Nền tảng Google Maps. Để biết thông tin về cách đảm bảo việc triển khai Dịch vụ di động của bạn được tính phí chính xác, hãy xem phần Xác thực việc thanh toán. Để biết thêm thông tin về việc thanh toán cho Dịch vụ di động, hãy liên hệ với người đại diện bán hàng.

Khách hàng Dịch vụ di động chỉ được sử dụng API SDK Điều hướng nào?

Có một số API trong SDK Điều hướng chỉ dành cho khách hàng Dịch vụ di chuyển. Khách hàng này đượ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:

Nếu là khách hàng của Dịch vụ di động, tôi có thể sử dụng cách triển khai SDK Điều hướng không phải Dịch vụ di động không?

Có, khách hàng của Dịch vụ di động có thể sử dụng cả cách triển khai Dịch vụ di động và không phải Dịch vụ di động của SDK Điều hướng. Tuy nhiên, mỗi lầ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. 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á API mà bạn sử dụng để triển khai Dịch vụ di chuyển. Để 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 phương thức triển khai SDK Điều hướng không phải Dịch vụ di chuyển, bao gồm cả việc di chuyển ứng dụng từ một loại phương thức triển khai sang một loại phương thức 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 động và muốn tìm hiểu thêm về bộ sưu tậ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.