Tổng quan về tính năng tìm kiế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ỉ dành cho tính năng Tìm kiếm văn bản (Mới): Tìm địa điểm dọc theo một tuyến đường đi được xác định trước.
  • Tìm kiếm văn bản (Mới) và Nearby Search (Mới): Tính toán thông tin tóm tắt về việc định tuyến 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 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 đã xác đị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 của chuyến đ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 phương tiện công cộng hoặc cho người đi bộ.

Tìm kiếm 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 tuyến đường. Với lựa chọn này, bạn sẽ truyền tuyến đường đã tính toán trước từ Routes API đến yêu cầu Tìm kiếm văn bản (Mới). Sau đó, phản hồi sẽ chứa các địa điểm khớp với tiêu chí tìm kiếm và cũng nằm gần tuyến đường được chỉ định.

Việc 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 ranh giới khung nhìn, trong khi locationBias có thể trả về kết quả tìm kiếm bên ngoài khung nhìn. Tuy nhiên, trong khi các lựa chọn locationBias và locationRestriction cho phép bạn chỉ định một khu vực để điều chỉnh kết quả tìm kiếm, thì tính năng tìm kiếm dọc theo tuyến đường trong Tìm kiếm văn bản cũng cho phép bạn điều chỉnh kết quả tìm kiếm để đưa vào những kết quả có thời gian đi đường vòng tối thiểu từ điểm bắt đầu đến điểm đến của tuyến đường. Bạn có thể điều chỉnh 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 nhiều đoạn.

Ví dụ: hãy xem xét tuyến đường từ điểm xuất phát (được gọi là điểm tham chiếu trong Routes API) đến điểm đến do Routes API tính toán:

Tuyến đường từ điểm tham chiếu ban đầu đế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ề các đị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 do kết quả tìm kiếm trả về.

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

Tìm kiếm văn bản (Mới) và Nearby Search (Mới) có thể tính toán thông tin tóm tắt về đường đi (nghĩa 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í ban đầu của đường đi đượ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 di chuyển và khoảng cách 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à những đị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 của tuyến đường đế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 cách sử dụng tuỳ chọn TRAFFIC_UNAWARE trong Routes API. Bạn có thể tuỳ ý đặt lựa chọn ưu tiên về định tuyến để xem xét tình trạng giao thông thực tế TRAFFIC_AWARE_OPTIMAL hoặc tình trạng giao thông thực tế có độ trễ thấp TRAFFIC_AWARE trong quá trình tính toán.

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

Một tuyến đường bao gồm một số thành phần, do Routes API tính toán:

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

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

  • Waypoint: Để tính toán một 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 những vị trí này là các điểm tham chiếu trên tuyến đường. Các điểm tham chiếu trung gian là những vị trí nằm giữa điểm khởi hành và điểm đến mà bạn muốn tuyến đường đi qua.
  • Tuyến đường: Toàn bộ chuyến đi từ điểm tham chiếu xuất phát, qua mọi điểm tham chiếu trung gian, đến điểm tham chiếu đích. Một tuyến đường bao gồm một hoặc nhiều chặng.

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

  • Chặng: Đường đi từ một điểm tham chiếu trong tuyến đường đến điểm tham chiếu 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 đường chứa một chặng riêng cho đường đi từ mỗi điểm tham chiếu đến điểm tham chiếu tiếp theo. Ví dụ: nếu tuyến đường chứa một điểm tham chiếu xuất phát và một điểm tham chiếu đích, thì tuyến đường đó sẽ chứa một chặng.

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

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

Tính toán thông tin tóm tắt về tuyến đường bằng tính năng 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 tuyến đường với tìm kiếm dọc theo tuyến đường. Trong trường hợp này, Tìm kiếm 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 điểm đến 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à khoảng cách di chuyển nếu bạn đi đường vòng từ 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 điểm đến cuối cùng.

Ví dụ: hãy xem xét tuyến đường sau đây từ điểm bắt đầu đế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 đánh dấu điểm khởi hành đến điểm đến, có đường vòng để tìm kiế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 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 bao gồm thời lượng và khoảng cách cần thiết để đi đường vòng đến địa điểm đó dưới dạng chuyến đi hai chặng:

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

Từ thông tin trong phản hồi, sau đó bạn có thể tính toán thời lượng và khoảng cách của đường 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 chuyến đi từ điểm xuất phát đến A; \(s_{OA}\) là khoảng cách chuyến đi từ điểm xuất phát đến A
  • \(t_{AD}\) là thời lượng chuyến đi từ A đến điểm đến; \(s_{AD}\) là khoảng cách chuyến đi từ A đến điểm đến

Thời gian đi đường vòng là khoảng thời gian chênh lệch giữa chuyến đi ban đầu (từ điểm khởi hành đến điểm đến) và chuyến đi mới (từ điểm khởi hành đến điểm đến qua A):

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

Khoảng cách đi vòng là mức chê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 qua A):

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