Tổng quan về tính năng tìm dọc theo tuyến đường

Các tính năng Tìm kiếm dọc theo tuyến đường có trong các API Địa điểm (Mới) sau:

  • Chỉ tìm kiếm bằng văn bản (Mới): Tìm kiếm các địa điểm dọc theo tuyến đường của một chuyến đi được xác định trước.
  • Tìm kiếm bằng văn bản (Mới) và Tìm kiếm địa điểm lân cận (Mới): Tính toán thông tin tóm tắt về tuyến đường từ một vị trí xuất phát được chỉ định đến từng địa điểm trong kết quả tìm kiếm.
  • Chỉ áp dụng cho tính năng Tìm kiếm bằng văn bản (Mới): Tính toán thông tin tóm tắt về tuyến đường cho từng địa điểm dọc theo tuyến đường đã định trước của chuyến đi.

Tìm dọc theo tuyến đường

Bạn sử dụng Routes API để tính toán tuyến đường đi giữa hai vị trí. Routes API có thể tính toán tuyến đường cho ô tô, xe đạp, xe hai bánh, hệ thống giao thông công cộng hoặc để đi bộ.

Tính năng Tìm kiếm bằng văn bản (Mới) cho phép bạn sử dụng tuyến đường đã tính toán này để thực hiện tìm kiếm dọc theo một tuyến đường. Với tuỳ chọn này, bạn sẽ truyền tuyến đường được tính toán trước từ API Tuyến đường đến yêu cầu Tìm kiếm bằng văn bản (Mới). Sau đó, phản hồi sẽ chứa các địa điểm phù hợp với tiêu chí tìm kiếm và cũng nằm gần tuyến đường đã chỉ định.

Tìm kiếm dọc theo một tuyến đường cũng tương tự như việc sử dụng các tuỳ chọn yêu cầu locationRestriction hoặc locationBias để thiên vị kết quả tìm kiếm. locationRestriction trả về kết quả tìm kiếm nằm trong giới hạn khung nhìn, trong khi locationBias có thể trả về kết quả tìm kiếm nằm ngoài khung nhìn. Tuy nhiên, mặc dù các tuỳ chọn locationBiaslocationRestriction cho phép bạn chỉ định một khu vực để thiên vị kết quả tìm kiếm, nhưng tính năng tìm kiếm dọc theo tuyến đường trong Tìm kiếm bằng văn bản cũng cho phép bạn thiên vị kết quả tìm kiếm để bao gồm những kết quả có thời gian đi đường vòng tối thiểu từ điểm xuất phát của tuyến đường đến điểm đến của tuyến đường. Bạn có thể thiên vị kết quả tìm kiếm bằng cách sử dụng locationBias hoặc locationRestriction kết hợp với đường đa tuyến.

Ví dụ: hãy xem xét tuyến đường từ điểm xuất phát, được gọi là điểm trung gian trong API Tuyến đường, đến điểm đến do API Tuyến đường tính toán:

Tuyến đường từ điểm trung gian xuất phát đến điểm đến có kết quả tìm kiếm.

Khi bạn tìm kiếm dọc theo tuyến đường, kết quả tìm kiếm sẽ ưu tiên trả về những địa điểm gần tuyến đường với thời gian đi đường vòng tối thiểu từ điểm xuất phát đến điểm đến. Trong ví dụ này, các điểm A, B và C là những địa điểm được tìm kiếm trả về.

Tính toán thông tin tóm tắt về định tuyến

Tìm kiếm bằng văn bản (Mới)Tìm kiếm địa điểm lân cận (Mới) có thể tính toán thông tin tóm tắt về lộ trình, tức là thời lượng và khoảng cách đến từng địa điểm trong phản hồi dựa trên vị trí xuất phát của lộ trình được chỉ định trong yêu cầu. Khi bạn chỉ định điểm xuất phát của tuyến đường, phản hồi không chỉ chứa danh sách các địa điểm khớp với nội dung tìm kiếm mà còn chứa thời gian và quãng đường di chuyển từ điểm xuất phát của tuyến đường đến từng địa điểm.

Trong hình ảnh sau, các điểm A, B và C là những địa điểm được trả về trong phản hồi tìm kiếm:

Điểm A, B và C là các địa điểm được trả về trong phản hồi tìm kiếm.

Đối với mỗi địa điểm trong kết quả, phản hồi sẽ chứa thời gian di chuyển và khoảng cách từ điểm xuất phát đến địa điểm đó (nếu có).

Theo mặc định, thời gian và quãng đường di chuyển được tính bằng tuỳ chọn TRAFFIC_UNAWARE trong Routes API. Bạn có thể tuỳ ý đặt lựa chọn ưu tiên định tuyến để xem xét điều kiện lưu lượng truy cập trực tiếp TRAFFIC_AWARE_OPTIMAL hoặc điều kiện lưu lượng truy cập trực tiếp giảm độ trễ TRAFFIC_AWARE trong quá trình tính toán.

Giới thiệu về tuyến đường, chặng và điểm trung gian

Một số thành phần tạo nên một tuyến đường, được tính toán bằng Routes API:

Các thành phần tạo nên một tuyến đường.

Một tuyến bao gồm các thành phần sau:

  • Waypoint: Để tính toán tuyến đường, bạn phải chỉ định ít nhất vị trí của điểm xuất phát và điểm đến. Bạn xác định các vị trí này là điểm trung gian trên tuyến đường. Điểm trung gian là các vị trí nằm giữa điểm xuất phát và điểm đến mà bạn muốn tuyến đường đi qua.
  • Tuyến đường: Toàn bộ hành trình từ điểm trung gian gốc, thông qua mọi điểm trung gian, đến điểm trung gian đích. Một tuyến đường bao gồm một hoặc nhiều đoạn.

    Khi truyền một tuyến đường đến Tìm kiếm văn bản, bạn sẽ truyền đường đa tuyến được mã hoá của tuyến đường do Routes API trả về. Đường đa giác được mã hoá là danh sách các điểm vĩ độ và kinh độ được mã hoá cho phép bạn biểu thị đường đa giác của tuyến đường dưới dạng một chuỗi.

  • Có chặng: Đường dẫn từ một điểm trung gian trong tuyến đường đến điểm trung gian tiếp theo trong tuyến đường. Mỗi chặng bao gồm một hoặc nhiều bước riêng biệt.

    Một tuyến chứa một chặng riêng cho đường dẫn từ mỗi điểm trung gian đến điểm trung gian tiếp theo. Ví dụ: nếu tuyến đường chứa một điểm trung gian xuất phát và một điểm trung gian đến, thì tuyến đường đó chứa một chặng.

    Đối với mỗi điểm trung gian bổ sung mà bạn thêm vào tuyến đường sau điểm xuất phát và điểm đến, được gọi là điểm trung gian trung gian, API sẽ thêm một chặng riêng.

Để biết thêm thông tin về tuyến đường và cách tính toán tuyến đường, hãy xem API Route.

Tính toán bản tóm tắt định tuyến bằng một lượt tìm kiếm dọc theo tuyến đường

Bạn có thể kết hợp các phép tính tóm tắt định tuyến với tìm kiếm dọc theo tuyến đường. Trong trường hợp này, Tìm kiếm bằng văn bản (Mới) sẽ trả về thời gian di chuyển và khoảng cách đến từng địa điểm trong phản hồi, sau đó từ mỗi địa điểm đến đích cuối cùng của tuyến đường. Hãy coi phép tính này là cung cấp thời gian và quãng đường di chuyển nếu bạn rẽ khỏi tuyến đường đã chỉ định để đến một địa điểm trong kết quả tìm kiếm, sau đó tiếp tục đến đích cuối cùng.

Ví dụ: hãy xem xét tuyến đường sau đây từ điểm xuất phát đến điểm đến do Routes API tính toán. Truyền tuyến đường này đến API Tìm kiếm văn bản (Mới) cùng với tiêu chí tìm kiếm của bạn.

Tuyến đường từ điểm trung gian gốc đến điểm đến có đường vòng để tìm kết quả.

Trong ví dụ này, vị trí A là một địa điểm được trả về trong kết quả tìm kiếm từ tính năng Tìm kiếm bằng văn bản (Mới). Đối với mỗi địa điểm trong phản hồi, kết quả tìm kiếm sẽ bao gồm thời gian và quãng đường cần thiết để đi vòng ra địa điểm đó dưới dạng chuyến đi hai chặng:

  • Chuyến bay đầu tiên chứa thời gian và quãng đường di chuyển từ điểm xuất phát của tuyến đường đến điểm đến. Trong ví dụ này, từ điểm xuất phát đến vị trí A.
  • Chuyến bay thứ hai chứa thời gian và quãng đường di chuyển từ địa điểm đến điểm đến của tuyến. Trong ví dụ này, từ A đến đích.

Từ thông tin trong phản hồi, bạn có thể tính toán thời lượng và quãng đường đi vòng, trong đó:

  • \(t_{OD}\) là thời gian di chuyển từ điểm xuất phát đến điểm đến, \(s_{OD}\) là khoảng cách di chuyển từ điểm xuất phát đến điểm đến
  • \(t_{OA}\) là thời gian di chuyển từ điểm xuất phát đến A; \(s_{OA}\) là quãng đường di chuyển từ điểm xuất phát đến A
  • \(t_{AD}\) là thời gian di chuyển từ A đến điểm đến; \(s_{AD}\) là quãng đường di chuyển từ A đến điểm đến

Thời gian đi đường vòngchênh lệch thời gian giữa chuyến đi ban đầu (từ điểm xuất phát đến điểm đến) và chuyến đi mới (từ điểm xuất phát đến điểm đến thông qua A):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

Khoảng cách đi đường vòngchênh lệch khoảng cách giữa chuyến đi ban đầu (từ điểm xuất phát đến điểm đến) và chuyến đi mới (từ điểm xuất phát đến điểm đến thông qua A):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$