Ví dụ về đường đi

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Sản phẩm này đang ở Trạng thái cũ. Kể từ tháng 10 năm 2026, bạn sẽ không thể bật Directions API (Phiên bản cũ) cho các dự án trên đám mây mới trên Google nữa. Các dự án hiện có vẫn được hỗ trợ đầy đủ. Để sử dụng các tính năng mới và cải thiện hiệu suất, hãy di chuyển sang Routes API.

Yêu cầu mẫu

Yêu cầu sau đây trả về đường lái xe từ Toronto, Ontario đến Montreal, Quebec.

URL

https://maps.googleapis.com/maps/api/directions/json?destination=Montreal
  &origin=Toronto
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY'

Bằng cách thay đổi các tham số mode và avoid, bạn có thể sửa đổi yêu cầu ban đầu để trả về đường đi cho một hành trình đạp xe ngắm cảnh tránh các đường cao tốc chính.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?avoid=highways
  &destination=Montreal
  &mode=bicycling
  &origin=Toronto
  &key=YOUR_API_KEYYOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY'YOUR_API_KEY'

Yêu cầu sau đây tìm đường đi bằng phương tiện công cộng từ Brooklyn, New York đến Queens, New York. Yêu cầu không chỉ định departure_time, vì vậy, thời gian khởi hành mặc định là thời gian hiện tại:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Queens
  &mode=transit
  &origin=Brooklyn
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&keyYOUR_API_KEY'

Yêu cầu về phương tiện công cộng sau đây bao gồm thời gian khởi hành cụ thể.

Lưu ý: Trong ví dụ này, thời gian khởi hành được chỉ định là ngày 30 tháng 7 năm 2012 lúc 09:45 sáng. Để tránh lỗi, bạn phải thay đổi tham số thành thời gian trong tương lai trước khi gửi yêu cầu.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?departure_time=1343641500
  &destination=Queens
  &mode=transit
  &origin=Brooklyn
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&departure_time=1343641500&key=YOUR_API_KEY'

Yêu cầu sau đây sử dụng mã cộng để trả về đường lái xe từ H8MW+WP đến GCG2+3M ở Kolkata, Ấn Độ.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=GCG2%2B3M%20Kolkata%20India
  &origin=H8MW%2BWP%20Kolkata%20India
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=H8MW%2BWP%20Kolkata%20India&destination=GCG2%2B3M%20Kolkata%20India&key=YOUR_API_KEY'

Yêu cầu sau đây trả về đường lái xe từ Glasgow, Vương quốc Anh đến Perth, Vương quốc Anh bằng cách sử dụng mã địa điểm.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y
  &origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE
  &keyYOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY'

Phương tiện di chuyển

Khi tính toán đường đi, bạn có thể chỉ định mode phương tiện giao thông cần sử dụng. Theo mặc định, đường đi được tính là đường đi driving. Các phương tiện di chuyển sau đây được hỗ trợ:

  • driving (mặc định) cho biết đường lái xe tiêu chuẩn sử dụng mạng lưới đường bộ.
  • walking yêu cầu chỉ đường đi bộ qua đường dành cho người đi bộ và vỉa hè (nếu có).
  • bicycling yêu cầu đường đi xe đạp qua đường dành cho xe đạp và đường phố ưu tiên (nếu có).
  • transit yêu cầu chỉ đường qua các tuyến phương tiện công cộng (nếu có). Nếu đặt chế độ thành transit, bạn có thể tuỳ ý chỉ định departure_time hoặc arrival_time. Nếu bạn không chỉ định thời gian, thì departure_time sẽ mặc định là thời gian hiện tại (tức là thời gian khởi hành mặc định là thời gian hiện tại). Bạn cũng có thể thêm transit_mode và/hoặc transit_routing_preference (không bắt buộc).

Lưu ý: Đôi khi, cả đường đi bộ và đường đi xe đạp đều có thể không bao gồm đường đi bộ hoặc đường đi xe đạp rõ ràng, vì vậy, những đường đi này sẽ trả về warnings trong kết quả trả về mà bạn phải hiển thị cho người dùng.

Thông tin giao thông

Thông tin về tình hình giao thông được sử dụng khi tất cả các điều kiện sau đây đều được đáp ứng (đây là các điều kiện cần thiết để nhận trường duration_in_traffic trong phản hồi của API Chỉ đường):

  • Tham số travel mode là driving hoặc không được chỉ định (driving là phương tiện di chuyển mặc định).
  • Yêu cầu bao gồm một tham số departure_time hợp lệ. Bạn có thể đặt departure_time thành thời gian hiện tại hoặc một thời điểm nào đó trong tương lai. Ngày này không được là ngày trong quá khứ.
  • Yêu cầu không bao gồm điểm tham chiếu dừng chân. Nếu yêu cầu bao gồm các điểm tham chiếu, hãy thêm tiền tố via: vào mỗi điểm tham chiếu để tác động đến tuyến đường nhưng tránh các điểm dừng. Ví dụ:
    &waypoints=via:San Francisco|via:Mountain View|...

Nếu muốn, bạn có thể thêm tham số traffic_model vào yêu cầu để chỉ định các giả định cần sử dụng khi tính toán thời gian di chuyển trong tình trạng giao thông.

URL sau đây bắt đầu một yêu cầu về Đường đi cho hành trình từ Boston, MA đến Concord, MA, qua Charlestown và Lexington. Yêu cầu này bao gồm thời gian khởi hành, đáp ứng tất cả các yêu cầu để trả về trường duration_in_traffic trong phản hồi của API Chỉ đường.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?departure_time=now
  &destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&departure_time=now&key=YOUR_API_KEY'

Điểm tham chiếu

Khi tính toán tuyến đường bằng Directions API (Phiên bản cũ), bạn có thể chỉ định điểm tham chiếu để trả về một tuyến đường bao gồm các điểm đi qua hoặc điểm dừng chân tại các vị trí trung gian. Bạn có thể thêm điểm tham chiếu vào đường đi bằng ô tô, đường đi bộ hoặc đường đi xe đạp, nhưng không thể thêm vào đường đi bằng phương tiện công cộng.

Chỉ định vị trí trong tham số waypoints.

Bạn có thể cung cấp một hoặc nhiều vị trí được phân tách bằng ký tự gạch đứng (| hoặc %7C), dưới dạng mã địa điểm, địa chỉ hoặc toạ độ vĩ độ/kinh độ. Theo mặc định, dịch vụ Chỉ đường sẽ tính toán một tuyến đường bằng cách sử dụng các điểm tham chiếu theo thứ tự được cung cấp. Thứ tự ưu tiên để phân tích cú pháp giá trị của điểm tham chiếu là mã địa điểm, toạ độ vĩ độ/kinh độ, sau đó là địa chỉ.

  • Nếu truyền mã địa điểm, bạn phải thêm tiền tố place_id: vào mã đó. Bạn có thể truy xuất mã địa điểm từ Geocoding API và Places API (bao gồm cả Place Autocomplete). Để xem ví dụ về cách sử dụng mã địa điểm từ tính năng Place Autocomplete, hãy xem phần Place Autocomplete và Đường đi. Để biết thêm thông tin về mã địa điểm, hãy xem bài viết Tổng quan về mã địa điểm.

    Để đảm bảo hiệu quả và Mã địa điểm, hãy sử dụng mã địa điểm khi có thể. Các mã nhận dạng này rõ ràng và riêng biệt như một cặp giá trị vĩ độ/kinh độ, đồng thời mang lại lợi ích mã hoá địa lý cho việc định tuyến, chẳng hạn như điểm truy cập và biến lưu lượng truy cập. Không giống như địa chỉ, mã nhận dạng không yêu cầu dịch vụ thực hiện tìm kiếm hoặc yêu cầu trung gian để biết thông tin chi tiết về địa điểm; do đó, hiệu suất sẽ tốt hơn.

  • Nếu bạn truyền toạ độ vĩ độ/kinh độ, các giá trị sẽ được chuyển trực tiếp đến máy chủ giao diện người dùng để tính toán đường đi mà không cần mã hoá địa lý. Các điểm được bám vào đường và có thể không cung cấp độ chính xác mà ứng dụng của bạn cần. Sử dụng toạ độ khi bạn tin rằng các giá trị thực sự chỉ định các điểm mà ứng dụng của bạn cần để định tuyến mà không cần xem xét các điểm truy cập có thể có hoặc thông tin chi tiết bổ sung về mã hoá địa lý. Đảm bảo rằng bạn dùng dấu phẩy (%2C) chứ không phải dấu cách (%20) để phân tách giá trị vĩ độ và kinh độ.
  • Nếu bạn truyền một địa chỉ, thì dịch vụ Chỉ đường sẽ mã hoá địa lý chuỗi và chuyển đổi chuỗi đó thành toạ độ vĩ độ/kinh độ để tính toán đường đi. Nếu giá trị địa chỉ không rõ ràng, thì giá trị đó có thể kích hoạt một lượt tìm kiếm để phân biệt với các địa chỉ tương tự. Ví dụ: "Đường số 1" có thể là giá trị hoàn chỉnh hoặc giá trị một phần cho "Đường số 1 NE" hoặc "Đường số 1 SE". Kết quả này có thể khác với kết quả do Geocoding API trả về. Bạn có thể tránh được những hiểu lầm có thể xảy ra bằng cách sử dụng mã địa điểm. Xem phần khắc phục sự cố về kết quả của yêu cầu tuyến đường.

Ngoài ra, bạn có thể cung cấp một tập hợp điểm được mã hoá bằng Thuật toán đa tuyến được mã hoá. Bạn sẽ thấy một tập hợp được mã hoá rất hữu ích cho một số lượng lớn điểm tham chiếu, vì URL ngắn hơn đáng kể. Tất cả dịch vụ web đều có giới hạn URL là 16.384 ký tự.

  • Hình nhiều đường được mã hoá phải có tiền tố enc: và theo sau là dấu hai chấm (:). Ví dụ: waypoints=enc:gfo}EtohhU:.
  • Bạn cũng có thể thêm nhiều hình nhiều đường được mã hoá, phân tách bằng ký tự gạch đứng (|). Ví dụ: waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:

URL sau đây bắt đầu một yêu cầu về Đường đi cho hành trình giữa Boston, MA và Concord, MA với các điểm dừng ở Charlestown và Lexington, theo thứ tự đó. Ví dụ này sử dụng các địa chỉ:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'

Tác động đến tuyến đường bằng điểm dừng và điểm đi qua

Đối với mỗi điểm tham chiếu trong yêu cầu, phản hồi về đường đi sẽ thêm một mục nhập vào mảng legs để cung cấp thông tin chi tiết về các điểm dừng trên chặng đó của hành trình.

Nếu bạn muốn tác động đến tuyến đường bằng cách sử dụng điểm tham chiếu mà không thêm điểm dừng, hãy thêm tiền tố via: vào điểm tham chiếu. Điểm tham chiếu có tiền tố via: sẽ không thêm mục nhập vào mảng legs, nhưng sẽ định tuyến hành trình qua điểm tham chiếu.

URL sau đây sửa đổi yêu cầu trước đó để hành trình được định tuyến qua Lexington mà không dừng lại:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'

Tiền tố via: hiệu quả nhất khi tạo tuyến đường để phản hồi thao tác kéo điểm tham chiếu trên bản đồ của người dùng. Việc này cho phép người dùng xem tuyến đường cuối cùng theo thời gian thực và giúp đảm bảo rằng các điểm tham chiếu được đặt ở những vị trí mà Directions API (Phiên bản cũ) có thể truy cập.

URL sau đây yêu cầu điểm tham chiếu bằng toạ độ vĩ độ/kinh độ:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008&key=YOUR_API_KEY'

Dưới đây là cùng một yêu cầu, sử dụng hình nhiều đường được mã hoá:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'

Xin lưu ý rằng bạn có thể tự do kết hợp một thông số via: với bộ sửa đổi vị trí. Ví dụ:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'

Tối ưu hoá điểm tham chiếu

Theo mặc định, dịch vụ Chỉ đường sẽ tính toán một tuyến đường thông qua các điểm tham chiếu được cung cấp theo thứ tự đã cho. Nếu muốn, bạn có thể truyền optimize:true làm đối số đầu tiên trong tham số waypoints để cho phép dịch vụ Chỉ đường tối ưu hoá tuyến đường được cung cấp bằng cách sắp xếp lại các điểm tham chiếu theo thứ tự hiệu quả hơn. (Cách tối ưu hoá này là một ứng dụng của bài toán người bán hàng.) Thời gian di chuyển là yếu tố chính được tối ưu hoá, nhưng các yếu tố khác như khoảng cách, số lượt rẽ và nhiều yếu tố khác có thể được xem xét khi quyết định tuyến đường nào hiệu quả nhất. Tất cả điểm tham chiếu phải là điểm dừng để dịch vụ Chỉ đường tối ưu hoá tuyến đường.

Nếu bạn hướng dẫn dịch vụ Chỉ đường tối ưu hoá thứ tự của các điểm tham chiếu, thì thứ tự của các điểm tham chiếu đó sẽ được trả về trong trường waypoint_order trong đối tượng routes. Trường waypoint_order trả về các giá trị bắt đầu từ 0.

Ví dụ sau đây tính toán một hành trình đường bộ từ Adelaide, Nam Úc đến từng vùng rượu vang chính của Nam Úc bằng cách sử dụng tính năng tối ưu hoá tuyến đường.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Adelaide%2C%20SA
  &origin=Adelaide%2C%20SA
  &waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide%2C%20SA&destination=Adelaide%2C%20SA&waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA&key=YOUR_API_KEY'

Khi kiểm tra tuyến đường đã tính toán, bạn sẽ thấy rằng quá trình tính toán sử dụng các điểm tham chiếu theo thứ tự sau:

"waypoint_order": [ 3, 2, 0, 1 ]

Quy định hạn chế

Hệ thống có thể tính toán đường đi theo một số quy định hạn chế nhất định. Các quy định hạn chế được chỉ định bằng cách sử dụng tham số avoid và một đối số cho tham số đó cho biết quy định hạn chế cần tránh. Các quy định hạn chế sau đây được hỗ trợ:

  • avoid=tolls
  • avoid=highways
  • avoid=ferries

Bạn có thể yêu cầu một tuyến đường tránh bất kỳ tổ hợp nào của phí cầu đường, đường cao tốc và phà bằng cách truyền cả hai quy định hạn chế vào tham số avoid. Ví dụ: avoid=tolls|highways|ferries.

Lưu ý: việc thêm các quy tắc hạn chế không loại trừ các tuyến đường có tính năng bị hạn chế; việc này chỉ ưu tiên kết quả cho các tuyến đường phù hợp hơn.

Hệ đơn vị

Kết quả chỉ đường chứa các trường text trong distance có thể hiển thị cho người dùng để cho biết khoảng cách của một "bước" cụ thể trong tuyến đường. Theo mặc định, văn bản này sử dụng hệ đơn vị của quốc gia hoặc khu vực xuất phát.

Ví dụ: tuyến đường từ "Chicago, IL" đến "Toronto, ONT" sẽ hiển thị kết quả theo dặm, trong khi tuyến đường ngược lại sẽ hiển thị kết quả theo km. Bạn có thể ghi đè hệ thống đơn vị này bằng cách đặt rõ ràng một hệ thống đơn vị trong tham số units của yêu cầu, truyền một trong các giá trị sau:

  • metric chỉ định việc sử dụng hệ mét. Khoảng cách dạng văn bản được trả về bằng đơn vị km và mét.
  • imperial chỉ định việc sử dụng hệ đo lường Anh. Khoảng cách dạng văn bản được trả về bằng dặm và feet.

Lưu ý: chế độ cài đặt hệ đơn vị này chỉ ảnh hưởng đến text hiển thị trong các trường distance. Các trường distance cũng chứa values, luôn được biểu thị bằng mét.

Thiên vị khu vực

Bạn có thể đặt dịch vụ Chỉ đường để trả về kết quả từ một khu vực cụ thể bằng cách sử dụng tham số region. Tham số này nhận đối số ccTLD (miền cấp cao nhất theo mã quốc gia) gồm hai ký tự để chỉ định thiên vị khu vực. Hầu hết các mã ccTLD đều giống với mã ISO 3166-1 alpha-2, ngoại trừ một số trường hợp ngoại lệ đáng chú ý. Ví dụ: ccTLD của Vương quốc Anh là "uk" (.co.uk) trong khi mã ISO 3166-1 của quốc gia này là "gb" (về mặt kỹ thuật là cho thực thể "Vương quốc Liên hiệp Anh và Bắc Ireland"). Xem Thông tin chi tiết về phạm vi cung cấp của Google Maps Platform để biết các khu vực được hỗ trợ.

Bạn có thể sử dụng bất kỳ miền nào mà ứng dụng Google Maps chính đã ra mắt tính năng chỉ đường lái xe.

Ví dụ: yêu cầu chỉ đường từ "Toledo" đến "Madrid" trả về kết quả thích hợp khi region được đặt thành es và "Toledo" sau đó được hiểu là thành phố của Tây Ban Nha:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Madrid
  &origin=Toledo
  &region=es
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY'

JSON

      
{
  "geocoded_waypoints":
    [
      {
        "geocoder_status": "OK",
        "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ",
        "types": ["locality", "political"],
      },
    ],
  "routes":
    [
      {
        "bounds":
          {
            "northeast": { "lat": 40.4165207, "lng": -3.7026134 },
            "southwest": { "lat": 39.862808, "lng": -4.029406799999999 },
          },
        "copyrights": "Map data ©2022 Inst. Geogr. Nacional",
        "legs":
          [
            {
              "distance": { "text": "74.3 km", "value": 74327 },
              "duration": { "text": "57 mins", "value": 3446 },
              "end_address": "Madrid, Spain",
              "end_location": { "lat": 40.4165207, "lng": -3.705076 },
              "start_address": "Toledo, Spain",
              "start_location": { "lat": 39.862808, "lng": -4.0273727 },
              "steps":
                [
                  {
                    "distance": { "text": "0.6 km", "value": 615 },
                    "duration": { "text": "2 mins", "value": 106 },
                    "end_location":
                      { "lat": 39.8681019, "lng": -4.029378299999999 },
                    "html_instructions": "Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b>",
                    "polyline":
                      {
                        "points": "quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC",
                      },
                    "start_location": { "lat": 39.862808, "lng": -4.0273727 },
                    "travel_mode": "DRIVING",
                  },
                  // Additional steps omitted for brevity
                ],
              "traffic_speed_entry": [],
              "via_waypoint": [],
            },
          ],
        "overview_polyline":
          {
            "points": "quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)",
          },
        "summary": "A-42",
        "warnings": [],
        "waypoint_order": [],
      },
    ],
  "status": "OK",
}
      
    

XML

      
<DirectionsResponse>
 <status>OK</status>
 <route>
  <summary>A-42</summary>
  <leg>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>39.8628080</lat>
     <lng>-4.0273727</lng>
    </start_location>
    <end_location>
     <lat>39.8681019</lat>
     <lng>-4.0293783</lng>
    </end_location>
    <polyline>
     <points>quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC</points>
    </polyline>
    <duration>
     <value>106</value>
     <text>2 mins</text>
    </duration>
    <html_instructions>Head &lt;b&gt;northwest&lt;/b&gt; on &lt;b&gt;Av. de la Reconquista&lt;/b&gt; toward &lt;b&gt;C. de la Diputación&lt;/b&gt;</html_instructions>
    <distance>
     <value>615</value>
     <text>0.6 km</text>
    </distance>
   </step>
   <!-- Additional steps omitted for brevity -->
   <duration>
    <value>3446</value>
    <text>57 mins</text>
   </duration>
   <distance>
    <value>74327</value>
    <text>74.3 km</text>
   </distance>
   <start_location>
    <lat>39.8628080</lat>
    <lng>-4.0273727</lng>
   </start_location>
   <end_location>
    <lat>40.4165207</lat>
    <lng>-3.7050760</lng>
   </end_location>
   <start_address>Toledo, Spain</start_address>
   <end_address>Madrid, Spain</end_address>
  </leg>
  <copyrights>Map data ©2022 Inst. Geogr. Nacional</copyrights>
  <overview_polyline>
   <points>quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)</points>
  </overview_polyline>
  <bounds>
   <southwest>
    <lat>39.8628080</lat>
    <lng>-4.0294068</lng>
   </southwest>
   <northeast>
    <lat>40.4165207</lat>
    <lng>-3.7026134</lng>
   </northeast>
  </bounds>
 </route>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJ8f21C60Lag0R_q11auhbf8Y</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id>
 </geocoded_waypoint>
</DirectionsResponse>
      
      

Yêu cầu chỉ đường từ "Toledo" đến "Madrid" được gửi mà không có tham số region sẽ không trả về kết quả, vì "Toledo" được hiểu là thành phố ở Ohio chứ không phải Tây Ban Nha:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Madrid
  &origin=Toledo
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY'

JSON

      
{
  "geocoded_waypoints":
    [
      {
        "geocoder_status": "OK",
        "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ",
        "types": ["locality", "political"],
      },
    ],
  "routes": [],
  "status": "ZERO_RESULTS",
}
      
      

XML

      
<DirectionsResponse>
 <status>ZERO_RESULTS</status>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJeU4e_C2HO4gRRcM6RZ_IPHw</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id>
 </geocoded_waypoint>
</DirectionsResponse>
      
      

Đối tượng sửa đổi vị trí

Bạn có thể sử dụng công cụ sửa đổi vị trí để cho biết cách tài xế nên tiếp cận một vị trí cụ thể, bằng cách sử dụng tham số side_of_road để chỉ định bên đường cần sử dụng hoặc bằng cách chỉ định hướng để cho biết hướng di chuyển chính xác. Bạn có thể kết hợp các đối tượng sửa đổi này với đối tượng sửa đổi via: cho các điểm tham chiếu trung gian.

Chỉ định rằng các tuyến đường phải đi qua một bên cụ thể của đường

Khi chỉ định một điểm tham chiếu, bạn có thể yêu cầu tuyến đường đi qua bất kỳ bên đường nào mà điểm tham chiếu đó thiên về bằng cách sử dụng tiền tố side_of_road:. Ví dụ: yêu cầu chỉ đường này sẽ trả về một tuyến đường dài để xe kết thúc ở bên đường mà điểm tham chiếu được ưu tiên:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=side_of_road%3A37.7663444%2C-122.4412006
  &origin=37.7680296%2C-122.4375126
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=37.7680296%2C-122.4375126&destination=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'

Khi sử dụng side_of_road: với hình nhiều đường được mã hoá, tham số này sẽ được áp dụng cho mọi vị trí dọc theo hình nhiều đường.

Bạn chỉ có thể sử dụng đối tượng sửa đổi side_of_road: với các quy định hạn chế sau:

  • Tham số travel mode là driving hoặc không được chỉ định (driving là phương thức di chuyển mặc định).

Chỉ định rằng các tuyến đường phải có một hướng cụ thể

Khi chỉ định một điểm tham chiếu, bạn có thể yêu cầu tuyến đường đi qua điểm tham chiếu đó theo một hướng cụ thể. Hướng này được chỉ định bằng tiền tố heading=X:, trong đó X là giá trị độ nguyên từ 0 (bao gồm) đến 360 (không bao gồm). Hướng 0 cho biết hướng Bắc, 90 cho biết hướng Đông, tiếp tục theo chiều kim đồng hồ. Ví dụ: trong yêu cầu chỉ đường này, tuyến đường đi về phía đông từ điểm xuất phát, sau đó quay đầu:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=37.773245%2C-122.469502
  &origin=heading%3D90%3A37.773279%2C-122.468780
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=heading%3D90%3A37.773279%2C-122.468780&destination=37.773245%2C-122.469502&key=YOUR_API_KEY'

Bạn chỉ có thể sử dụng đối tượng sửa đổi heading=X: với các quy định hạn chế sau:

  • Tham số travel mode là driving, bicycling hoặc không được chỉ định (driving là chế độ di chuyển mặc định).
  • Công cụ sửa đổi side_of_road không được chỉ định cho cùng một vị trí.
  • Vị trí được chỉ định bằng giá trị vĩ độ/kinh độ. Bạn không được sử dụng heading với địa chỉ, Mã địa điểm hoặc hình nhiều đường được mã hoá.