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 Places (New) API 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 một tuyến đường đã xác định cho chuyến đi.
  • Tìm kiếm bằng văn bản (Mới) và Tìm kiếm lân cận (Mới): Tính toán thông tin tóm tắt về việc định tuyến từ một vị trí ban đầu được chỉ định đến từng địa điểm trong kết quả tìm kiếm.
  • Chỉ có 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ề việc định tuyến cho từng địa điểm dọc theo một tuyến đường đã xác định trước.

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 giao thông công cộng hoặc cho người đi bộ.

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 lựa chọn này, bạn sẽ truyền tuyến đường được 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 những đị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 tương tự như việc sử dụng các lựa chọn yêu cầu locationRestriction hoặc locationBias để điều chỉnh kết quả tìm kiếm. locationRestriction trả về kết quả tìm kiếm nằm trong phạm vi 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 locationBiaslocationRestriction 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ính năng Tìm kiếm bằng văn bản cũng cho phép bạn điều chỉnh 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 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 khởi hành (đượ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 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 bắt đầu đế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ề việc định tuyến

Tìm kiếm bằng văn bản (Mới)Tìm kiếm lân cận (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 bắt đầu của tuyến đường, phản hồi không chỉ chứa danh sách những địa điểm phù hợp với nội dung tìm kiếm mà còn có thời gian di chuyển và khoảng cách từ điểm bắt đầu của tuyến đường đến từng địa điểm.

Trong hình ảnh sau đây, 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:

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 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 bắt đầu định tuyến đế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 lựa chọn TRAFFIC_UNAWARE trong Routes API. Bạn có thể tuỳ ý đặt lựa chọn ưu tiên về việc đị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 đường và điểm tham chiếu

Một tuyến đường bao gồm nhiều 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:

  • Điểm tham chiếu: Để tính toán một tuyến đường, bạn phải chỉ định tối thiểu vị trí của điểm khởi hành 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 dừng chân 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ộ hành trình từ điểm tham chiếu ban đầu, 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 đường 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 đoạn đườ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 đánh dấu điểm khởi hành duy nhất và một điểm đánh dấu điểm đến duy nhất, thì tuyến đường đó sẽ chứa một chặng duy nhất.

    Đối với mỗi điểm đánh dấ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 đánh dấ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ề đường đi 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 thông tin định tuyến với tính năng 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, rồi từ từng địa điểm đến đích đến cuối cùng của tuyến đường. Hãy xem xét phép tính này như là phép tính cung cấp thời gian và khoảng cách di chuyển nếu bạn đi chệch khỏi tuyến đường đã chỉ định để đến một địa điểm trong kết quả tìm kiếm, rồi tiếp tục đến đích đế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 Text Search (New) API 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ừ Text Search (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 khởi hành đến địa điểm. Trong ví dụ này, từ điểm xuất phát đế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 đích đế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 khoảng thời gian và khoảng cách đi đường vòng, trong đó:

  • \(t_{OD}\) là thời lượng chuyến đi từ điểm khởi hành đến điểm đến, \(s_{OD}\) là khoảng cách chuyến đi từ điểm khởi hành đến điểm đến
  • \(t_{OA}\) là thời gian di chuyển từ điểm khởi hành đến A; \(s_{OA}\) là khoảng cách di chuyển từ điểm khởi hành đến A
  • \(t_{AD}\) là thời gian của chuyến đi từ A đến điểm đến; \(s_{AD}\) là khoảng cách của chuyến đi từ A đến điểm đến

Thời gian đi đường vòngkhoả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 đường vòngkhoảng cách 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):

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