Lượt phản hồi chỉ đường

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.

Câu trả lời mẫu

Phản hồi về đường đi được trả về theo định dạng được chỉ định bằng cờ output trong đường dẫn yêu cầu URL.

Dưới đây là một yêu cầu HTTP mẫu, tính toán tuyến đường từ Chicago, IL đến Los Angeles, CA thông qua hai điểm tham chiếu ở Joplin, MO và Oklahoma City, OK.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Los%20Angeles%2C%20CA
  &origin=Chicago%2C%20IL
  &waypoints=Joplin%2C%20MO%7COklahoma%20City%2C%20OK
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Chicago%2C%20IL&destination=Los%20Angeles%2C%20CA&waypoints=Joplin%2C%20MO%7COklahoma%20City%2C%20OK&key=YOUR_API_KEY'

Ví dụ trên yêu cầu kết quả JSON. Bạn cũng có thể yêu cầu kết quả đầu ra XML. Chọn các thẻ bên dưới để xem phản hồi JSON và XML mẫu.

JSON

      
{
  "geocoded_waypoints":
    [
      {
        "geocoder_status": "OK",
        "place_id": "ChIJ7cv00DwsDogRAMDACa2m4K8",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJ69Pk6jdlyIcRDqM1KDY3Fpg",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJgdL4flSKrYcRnTpP0XQSojM",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJE9on3F3HwoAR9AhGJW_fL-I",
        "types": ["locality", "political"],
      },
    ],
  "routes":
    [
      {
        "bounds":
          {
            "northeast": { "lat": 41.8781139, "lng": -87.6297872 },
            "southwest": { "lat": 34.0523525, "lng": -118.2435717 },
          },
        "copyrights": "Map data ©2022 Google, INEGI",
        "legs":
          [
            {
              "distance": { "text": "579 mi", "value": 932311 },
              "duration": { "text": "8 hours 48 mins", "value": 31653 },
              "end_address": "Joplin, MO, USA",
              "end_location": { "lat": 37.0842449, "lng": -94.513284 },
              "start_address": "Chicago, IL, USA",
              "start_location": { "lat": 41.8781139, "lng": -87.6297872 },
              "steps":
                [
                  {
                    "distance": { "text": "443 ft", "value": 135 },
                    "duration": { "text": "1 min", "value": 24 },
                    "end_location": { "lat": 41.8769003, "lng": -87.6297353 },
                    "html_instructions": "Head <b>south</b> on <b>S Federal St</b> toward <b>W Van Buren St</b>",
                    "polyline": { "points": "eir~FdezuOdCEjBC" },
                    "start_location": { "lat": 41.8781139, "lng": -87.6297872 },
                    "travel_mode": "DRIVING",
                  },
                  {
                    "distance": { "text": "269 ft", "value": 82 },
                    "duration": { "text": "1 min", "value": 20 },
                    "end_location": { "lat": 41.8768866, "lng": -87.63073 },
                    "html_instructions": "Turn <b>right</b> at the 1st cross street onto <b>W Van Buren St</b>",
                    "maneuver": "turn-right",
                    "polyline": { "points": "sar~FzdzuO@fC?|@" },
                    "start_location": { "lat": 41.8769003, "lng": -87.6297353 },
                    "travel_mode": "DRIVING",
                  },
                  // Additional steps omitted for brevity
                ],
              "traffic_speed_entry": [],
              "via_waypoint": [],
            },
            // Additional legs (Joplin to Oklahoma City, Oklahoma City to Los Angeles) omitted for brevity
          ],
        "overview_polyline":
          {
            "points": "eir~FdezuOxyFzfFl`G|qZvtSzqo@d}EhlLtqIdjFhrTfvEdca@... (truncated for brevity)",
          },
        "summary": "I-55 S and I-44",
        "warnings": [],
        "waypoint_order": [0, 1],
      },
    ],
  "status": "OK",
}
      
      

XML

      
<DirectionsResponse>
 <status>OK</status>
 <route>
  <summary>I-55 S and I-44</summary>
  <leg>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>41.8781139</lat>
     <lng>-87.6297872</lng>
    </start_location>
    <end_location>
     <lat>41.8769003</lat>
     <lng>-87.6297353</lng>
    </end_location>
    <polyline>
     <points>eir~FdezuOdCEjBC</points>
    </polyline>
    <duration>
     <value>24</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Head &lt;b&gt;south&lt;/b&gt; on &lt;b&gt;S Federal St&lt;/b&gt; toward &lt;b&gt;W Van Buren St&lt;/b&gt;</html_instructions>
    <distance>
     <value>135</value>
     <text>443 ft</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>41.8769003</lat>
     <lng>-87.6297353</lng>
    </start_location>
    <end_location>
     <lat>41.8768866</lat>
     <lng>-87.6307300</lng>
    </end_location>
    <polyline>
     <points>sar~FzdzuO@fC?|@</points>
    </polyline>
    <duration>
     <value>20</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;right&lt;/b&gt; at the 1st cross street onto &lt;b&gt;W Van Buren St&lt;/b&gt;</html_instructions>
    <distance>
     <value>82</value>
     <text>269 ft</text>
    </distance>
    <maneuver>turn-right</maneuver>
   </step>
   <!-- Additional steps omitted for brevity -->
   <duration>
    <value>31653</value>
    <text>8 hours 48 mins</text>
   </duration>
   <distance>
    <value>932311</value>
    <text>579 mi</text>
   </distance>
   <start_location>
    <lat>41.8781139</lat>
    <lng>-87.6297872</lng>
   </start_location>
   <end_location>
    <lat>37.0842449</lat>
    <lng>-94.5132840</lng>
   </end_location>
   <start_address>Chicago, IL, USA</start_address>
   <end_address>Joplin, MO, USA</end_address>
  </leg>
  <!-- Additional legs (Joplin to Oklahoma City, Oklahoma City to Los Angeles) omitted for brevity -->
  <copyrights>Map data ©2022 Google, INEGI</copyrights>
  <overview_polyline>
   <points>eir~FdezuOxyFzfFl`G|qZvtSzqo@d}EhlLtqIdjFhrTfvEdca@... (truncated for brevity)</points>
  </overview_polyline>
  <waypoint_index>0</waypoint_index>
  <waypoint_index>1</waypoint_index>
  <bounds>
   <southwest>
    <lat>34.0523525</lat>
    <lng>-118.2435717</lng>
   </southwest>
   <northeast>
    <lat>41.8781139</lat>
    <lng>-87.6297872</lng>
   </northeast>
  </bounds>
 </route>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJ7cv00DwsDogRAMDACa2m4K8</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJ69Pk6jdlyIcRDqM1KDY3Fpg</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJgdL4flSKrYcRnTpP0XQSojM</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJE9on3F3HwoAR9AhGJW_fL-I</place_id>
 </geocoded_waypoint>
</DirectionsResponse>
      
      

Phần còn lại của tài liệu này sẽ sử dụng cú pháp JSON. Trong hầu hết các trường hợp, định dạng đầu ra không quan trọng đối với mục đích minh hoạ các khái niệm hoặc tên trường trong tài liệu. Tuy nhiên, hãy lưu ý những điểm khác biệt nhỏ sau đây:

  • Kết quả XML được gói trong một phần tử <DirectionsResponse> gốc.
  • JSON biểu thị các mục có nhiều phần tử bằng mảng số nhiều (chẳng hạn như steps và legs), trong khi XML biểu thị các mục này bằng nhiều phần tử số ít (chẳng hạn như <step> và <leg>).
  • JSON biểu thị thứ tự điểm tham chiếu thông qua trường waypoint_order, trong khi XML biểu thị thứ tự này bằng các phần tử <waypoint_index> riêng lẻ.
  • Các phần tử trống được biểu thị thông qua các mảng trống trong JSON, nhưng không có phần tử nào như vậy trong XML. Ví dụ: một phản hồi không tạo ra kết quả nào sẽ trả về một mảng routes trống trong JSON, nhưng không có phần tử <route> nào trong XML.

DirectionsResponse

Trường Bắt buộc Loại Mô tả
bắt buộc Array<DirectionsRoute>

Chứa một mảng các tuyến đường từ điểm xuất phát đến điểm đến. Tuyến đường bao gồm các Chặng và Bước lồng nhau.

Hãy xem DirectionsRoute để biết thêm thông tin.

bắt buộc DirectionsStatus

Chứa trạng thái của yêu cầu và có thể chứa thông tin gỡ lỗi để giúp bạn theo dõi lý do yêu cầu không thành công.

Hãy xem DirectionsStatus để biết thêm thông tin.

tùy chọn Array<TravelMode>

Chứa một mảng các phương thức di chuyển có sẵn. Trường này được trả về khi một yêu cầu chỉ định phương thức di chuyển và không nhận được kết quả. Mảng này chứa các phương tiện di chuyển có sẵn ở các quốc gia của tập hợp điểm tham chiếu đã cho. Trường này không được trả về nếu một hoặc nhiều điểm tham chiếu là "điểm tham chiếu trung gian".

Hãy xem TravelMode để biết thêm thông tin.

tùy chọn chuỗi

Khi dịch vụ trả về một mã trạng thái khác với OK, có thể có thêm một trường error_message trong đối tượng phản hồi. Trường này chứa thông tin chi tiết hơn về lý do đằng sau mã trạng thái đã cho. Trường này không phải lúc nào cũng được trả về và nội dung của trường này có thể thay đổi.

tùy chọn Array<DirectionsGeocodedWaypoint>

Chứa một mảng có thông tin chi tiết về mã hoá địa lý của điểm xuất phát, điểm đến và điểm tham chiếu. Các phần tử trong mảng geocoded_waypoints tương ứng với điểm xuất phát, các điểm tham chiếu theo thứ tự được chỉ định và điểm đến, theo vị trí dựa trên số 0.

Những thông tin chi tiết này sẽ không xuất hiện cho các điểm tham chiếu được chỉ định dưới dạng giá trị vĩ độ/kinh độ dạng văn bản nếu dịch vụ không trả về kết quả. Điều này là do các điểm tham chiếu như vậy chỉ được mã hoá địa lý ngược để lấy địa chỉ đại diện sau khi tìm thấy tuyến đường. Một đối tượng JSON trống sẽ chiếm các vị trí tương ứng trong mảng geocoded_waypoints.

Hãy xem DirectionsGeocodedWaypoint để biết thêm thông tin.

DirectionsRoute

Tuyến đường bao gồm legs và steps lồng nhau.

Trường Bắt buộc Loại Mô tả
bắt buộc Ranh giới

Chứa hộp giới hạn khung nhìn của overview_polyline.

Xem phần Ranh giới để biết thêm thông tin.

bắt buộc chuỗi

Chứa thông báo bản quyền sẽ hiển thị cho tuyến đường này. Bạn phải tự xử lý và hiển thị thông tin này. Nội dung này chỉ dùng để đọc. Đừng phân tích cú pháp nội dung chỉ hiển thị này theo phương thức lập trình.

bắt buộc Array<DirectionsLeg>

Một mảng chứa thông tin về một chặng của tuyến đường, giữa hai vị trí trong tuyến đường đã cho. Mỗi điểm tham chiếu hoặc điểm đến được chỉ định sẽ có một chặng riêng. (Tuyến đường không có điểm tham chiếu sẽ chứa đúng một chặng trong mảng chặng.) Mỗi chặng bao gồm một loạt các bước.

Hãy xem DirectionsLeg để biết thêm thông tin.

bắt buộc DirectionsPolyline

Chứa một đối tượng lưu giữ thông tin biểu thị tuyến đường dưới dạng hình nhiều đường được mã hoá. Hình nhiều đường này là một đường đi gần đúng (đã được làm mượt) của đường đi thu được.

Hãy xem DirectionsPolyline để biết thêm thông tin.

bắt buộc chuỗi

Chứa nội dung mô tả ngắn bằng văn bản cho tuyến đường, phù hợp để đặt tên và phân biệt tuyến đường với các tuyến đường thay thế.

bắt buộc Array<string>

Chứa một mảng cảnh báo sẽ xuất hiện khi hiển thị các đường đi này. Bạn phải tự xử lý và hiển thị các cảnh báo này.

bắt buộc Mảng<số nguyên>

Một mảng cho biết thứ tự của mọi điểm tham chiếu trong tuyến đường được tính toán. Các điểm tham chiếu này có thể được sắp xếp lại nếu yêu cầu được chuyển tham số optimize:true trong tham số điểm tham chiếu.

tùy chọn Giá vé

Nếu có, thì trường này sẽ chứa tổng giá vé (tức là tổng chi phí vé) trên tuyến đường này. Thuộc tính này chỉ được trả về cho các yêu cầu về phương tiện công cộng và chỉ cho những tuyến đường có thông tin về giá vé cho tất cả các chặng đi phương tiện công cộng.

Hãy xem phần Giá vé để biết thêm thông tin.

Ranh giới

Một hình chữ nhật trong toạ độ địa lý từ các điểm ở góc tây nam và đông bắc.

Trường Bắt buộc Loại Mô tả
bắt buộc LatLngLiteral Hãy xem LatLngLiteral để biết thêm thông tin.
bắt buộc LatLngLiteral Hãy xem LatLngLiteral để biết thêm thông tin.

LatLngLiteral

Một đối tượng mô tả một vị trí cụ thể có Vĩ độ và Kinh độ theo độ thập phân.

Trường Bắt buộc Loại Mô tả
bắt buộc số

Vĩ độ theo độ thập phân

bắt buộc số

Kinh độ theo độ thập phân

DirectionsLeg

Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Chứa địa chỉ mà con người có thể đọc được (thường là địa chỉ đường phố) từ việc mã hoá địa lý ngược end_location của chặng này. Nội dung này được dùng để đọc nguyên trạng. Đừng phân tích cú pháp địa chỉ được định dạng theo phương thức lập trình.

bắt buộc LatLngLiteral

Toạ độ vĩ độ/kinh độ của điểm đến đã cho của chặng này. Vì Directions API tính toán đường đi giữa các vị trí bằng cách sử dụng phương tiện di chuyển gần nhất (thường là đường bộ) tại điểm xuất phát và điểm kết thúc, nên end_location có thể khác với điểm đến được cung cấp của chặng này nếu, ví dụ: không có đường bộ nào gần điểm đến.

Hãy xem LatLngLiteral để biết thêm thông tin.

bắt buộc chuỗi

Chứa địa chỉ mà con người có thể đọc được (thường là địa chỉ đường phố) có được từ việc mã hoá địa lý ngược start_location của chặng này. Nội dung này được dùng để đọc nguyên trạng. Đừng phân tích cú pháp địa chỉ được định dạng theo phương thức lập trình.

bắt buộc LatLngLiteral

Toạ độ vĩ độ/kinh độ của điểm xuất phát của chặng này. Vì Directions API tính toán đường đi giữa các vị trí bằng cách sử dụng phương tiện di chuyển gần nhất (thường là đường bộ) tại điểm xuất phát và điểm kết thúc, nên start_location có thể khác với điểm xuất phát được cung cấp của chặng này nếu, ví dụ, đường bộ không ở gần điểm xuất phát.

Hãy xem LatLngLiteral để biết thêm thông tin.

bắt buộc Array<DirectionsStep>

Một mảng các bước biểu thị thông tin về từng bước riêng biệt của chặng hành trình.

Hãy xem DirectionsStep để biết thêm thông tin.

traffic_speed_entry

tùy chọn Array<DirectionsTrafficSpeedEntry>

Thông tin về tốc độ giao thông dọc theo chặng.

Hãy xem DirectionsTrafficSpeedEntry để biết thêm thông tin.

bắt buộc Array<DirectionsViaWaypoint>

Vị trí của các điểm tham chiếu dọc theo chặng này.

Hãy xem DirectionsViaWaypoint để biết thêm thông tin.

tùy chọn TimeZoneTextValueObject

Chứa thời gian đến dự kiến cho chặng này. Thuộc tính này chỉ được trả về cho đường đi bằng phương tiện công cộng.

Hãy xem TimeZoneTextValueObject để biết thêm thông tin.

tùy chọn TimeZoneTextValueObject

Chứa thời gian khởi hành ước tính cho chặng này, được chỉ định dưới dạng đối tượng Thời gian. departure_time chỉ áp dụng cho đường đi bằng phương tiện công cộng.

Hãy xem TimeZoneTextValueObject để biết thêm thông tin.

tùy chọn TextValueObject

Tổng quãng đường của chặng này.

Hãy xem TextValueObject để biết thêm thông tin.

tùy chọn TextValueObject

Tổng thời lượng của chặng này.

Hãy xem TextValueObject để biết thêm thông tin.

tùy chọn TextValueObject

Cho biết tổng thời lượng của chặng này. Giá trị này là thời gian ước tính trong tình trạng giao thông dựa trên tình trạng giao thông hiện tại và trước đây. Hãy xem tham số yêu cầu traffic_model để biết các lựa chọn mà bạn có thể dùng để yêu cầu giá trị trả về là giá trị lạc quan, bi quan hoặc giá trị ước tính phù hợp nhất. Thời gian di chuyển trong tình trạng giao thông chỉ được trả về nếu tất cả các điều kiện sau đều đúng:

  • Yêu cầu không bao gồm điểm tham chiếu dừng chân. Nếu yêu cầu có chứa điểm tham chiếu, thì các điểm tham chiếu đó phải có tiền tố via: để tránh điểm dừng.
  • Yêu cầu này dành riêng cho đường lái xe – tham số mode được đặt thành driving.
  • Yêu cầu bao gồm tham số departure_time.
  • Có thông tin về tình trạng giao thông cho tuyến đường được yêu cầu.

Hãy xem TextValueObject để biết thêm thông tin.

DirectionsStep

Mỗi phần tử trong mảng steps xác định một bước của đường đi được tính toán. Bước là đơn vị nhỏ nhất của tuyến đường trong chỉ đường, chứa một bước duy nhất mô tả một chỉ dẫn cụ thể trong hành trình. Ví dụ: "Rẽ trái tại W. 4th St." Bước này không chỉ mô tả hướng dẫn mà còn chứa thông tin về khoảng cách và thời lượng liên quan đến cách bước này liên quan đến bước sau. Ví dụ: một bước được biểu thị là "Nhập vào I-80 West" có thể chứa thời lượng "37 dặm" và "40 phút", cho biết bước tiếp theo cách bước này 37 dặm/40 phút.

Khi sử dụng Directions API để tìm đường đi bằng phương tiện công cộng, mảng steps sẽ bao gồm thông tin chi tiết bổ sung về phương tiện công cộng dưới dạng mảng transit_details. Nếu đường đi bao gồm nhiều phương thức di chuyển, thì đường đi chi tiết sẽ được cung cấp cho các bước đi bộ hoặc lái xe trong một mảng các bước bên trong. Ví dụ: một bước đi bộ sẽ bao gồm chỉ đường từ vị trí bắt đầu và kết thúc: "Đi bộ đến Innes Ave & Fitch St". Bước đó sẽ bao gồm đường đi bộ chi tiết cho tuyến đường đó trong mảng các bước bên trong, chẳng hạn như: "Đi về hướng tây bắc", "Rẽ trái vào Arelious Walker" và "Rẽ trái vào Innes Ave".

Trường Bắt buộc Loại Mô tả
bắt buộc TextValueObject

Chứa thời gian thông thường cần thiết để thực hiện bước này, cho đến bước tiếp theo. Trường này có thể không xác định được nếu không biết thời lượng.

Hãy xem TextValueObject để biết thêm thông tin.

bắt buộc LatLngLiteral

Chứa vị trí của điểm cuối cùng trong bước này.

Hãy xem LatLngLiteral để biết thêm thông tin.

bắt buộc chuỗi

Chứa hướng dẫn được định dạng cho bước này, được trình bày dưới dạng chuỗi văn bản HTML. Nội dung này chỉ dùng để đọc. Đừng phân tích cú pháp nội dung chỉ hiển thị này theo phương thức lập trình.

bắt buộc DirectionsPolyline

Chứa một đối tượng điểm duy nhất lưu giữ biểu diễn hình nhiều đường được mã hoá của bước. Hình nhiều đường này là đường đi gần đúng (đã được làm mượt) của bước.

Hãy xem DirectionsPolyline để biết thêm thông tin.

bắt buộc LatLngLiteral

Chứa vị trí của điểm xuất phát của bước này.

Hãy xem LatLngLiteral để biết thêm thông tin.

bắt buộc TravelMode

Chứa loại phương thức di chuyển được sử dụng.

Hãy xem TravelMode để biết thêm thông tin.

tùy chọn TextValueObject

Chứa khoảng cách mà bước này bao gồm cho đến bước tiếp theo. Trường này có thể không xác định được nếu không biết khoảng cách.

Hãy xem TextValueObject để biết thêm thông tin.

tùy chọn chuỗi

Chứa hành động cần thực hiện cho bước hiện tại (rẽ trái, nhập làn, đi thẳng, v.v.). Các giá trị có thể thay đổi và các giá trị mới có thể được đưa ra mà không cần thông báo trước.

The allowed values include: turn-slight-left, turn-sharp-left, turn-left, turn-slight-right, turn-sharp-right, keep-right, keep-left, uturn-left, uturn-right, turn-right, straight, ramp-left, ramp-right, merge, fork-left, fork-right, ferry, ferry-train, roundabout-left, and roundabout-right
tùy chọn

Chứa thông tin chỉ đường chi tiết cho các bước đi bộ hoặc lái xe trong đường đi bằng phương tiện công cộng. Các bước phụ chỉ có sẵn khi travel_mode được đặt thành "transit". Mảng steps bên trong có cùng loại với steps.

tùy chọn DirectionsTransitDetails

Thông tin chi tiết liên quan đến bước này nếu phương tiện di chuyển là transit.

Hãy xem DirectionsTransitDetails để biết thêm thông tin.

TextValueObject

Một đối tượng chứa giá trị số và giá trị biểu thị dạng văn bản được định dạng của giá trị số đó.

Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Giá trị chuỗi.

bắt buộc số

Giá trị số.

DirectionsPolyline

Mã hoá hình nhiều đường là một thuật toán nén có tổn hao, cho phép bạn lưu trữ một loạt toạ độ dưới dạng một chuỗi duy nhất. Toạ độ điểm được mã hoá bằng các giá trị có dấu. Nếu chỉ có một vài điểm tĩnh, bạn cũng có thể sử dụng tiện ích mã hoá hình nhiều đường tương tác.

Quá trình mã hoá chuyển đổi một giá trị nhị phân thành một chuỗi mã ký tự cho các ký tự ASCII bằng cách sử dụng lược đồ mã hoá base64 quen thuộc: để đảm bảo hiển thị đúng các ký tự này, các giá trị được mã hoá sẽ được cộng với 63 (ký tự ASCII "?") trước khi chuyển đổi thành ASCII. Thuật toán này cũng kiểm tra các mã ký tự bổ sung cho một điểm nhất định bằng cách kiểm tra bit ít quan trọng nhất của mỗi nhóm byte; nếu bit này được đặt thành 1, thì điểm đó chưa được hình thành đầy đủ và phải có thêm dữ liệu.

Ngoài ra, để tiết kiệm không gian, các điểm chỉ bao gồm độ lệch so với điểm trước đó (tất nhiên là ngoại trừ điểm đầu tiên). Tất cả các điểm đều được mã hoá trong Base64 dưới dạng số nguyên có dấu, vì vĩ độ và kinh độ là các giá trị có dấu. Định dạng mã hoá trong một hình nhiều đường cần thể hiện hai toạ độ đại diện cho vĩ độ và kinh độ với độ chính xác hợp lý. Với kinh độ tối đa là +/- 180 độ và độ chính xác là 5 chữ số thập phân (180,00000 đến -180,00000), bạn cần có một giá trị số nguyên nhị phân có dấu 32 bit.

Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Một chuỗi đơn đại diện cho hình nhiều đường.

TravelMode

  • DRIVING (mặc định) cho biết việc tính toán bằng mạng lưới đường bộ.
  • BICYCLING yêu cầu tính toán cho hoạt động đi xe đạp bằng cách sử dụng đường dành cho xe đạp và đường ưu tiên (nếu có).
  • TRANSIT yêu cầu tính toán bằng cách sử dụng các tuyến phương tiện công cộng (nếu có).
  • WALKING yêu cầu tính toán cho việc đi bộ bằng cách sử dụng đường dành cho người đi bộ và vỉa hè (nếu có).

DirectionsTransitDetails

Thông tin bổ sung không liên quan đến các phương thức vận chuyển khác.

Trường Bắt buộc Loại Mô tả
tùy chọn DirectionsTransitStop

Trạm dừng phương tiện công cộng đến.

Hãy xem DirectionsTransitStop để biết thêm thông tin.

tùy chọn TimeZoneTextValueObject Hãy xem TimeZoneTextValueObject để biết thêm thông tin.
tùy chọn DirectionsTransitStop

Điểm dừng phương tiện công cộng khởi hành.

Hãy xem DirectionsTransitStop để biết thêm thông tin.

tùy chọn TimeZoneTextValueObject Hãy xem TimeZoneTextValueObject để biết thêm thông tin.
tùy chọn chuỗi

Chỉ định hướng di chuyển trên tuyến này, như được đánh dấu trên phương tiện hoặc tại điểm dừng khởi hành. Đây thường là ga cuối.

tùy chọn số nguyên

Chỉ định số giây dự kiến giữa các chuyến khởi hành từ cùng một điểm dừng tại thời điểm này. Ví dụ: với giá trị headway là 600, bạn sẽ phải đợi 10 phút nếu lỡ chuyến xe buýt.

tùy chọn DirectionsTransitLine

Chứa thông tin về tuyến phương tiện công cộng được sử dụng trong bước này.

Hãy xem DirectionsTransitLine để biết thêm thông tin.

tùy chọn số nguyên

Số điểm dừng từ điểm khởi hành đến điểm đến. Thông tin này bao gồm điểm dừng đến, nhưng không bao gồm điểm dừng khởi hành. Ví dụ: nếu chỉ đường của bạn bao gồm việc rời khỏi Điểm dừng A, đi qua các điểm dừng B và C, rồi đến điểm dừng D, num_stops sẽ trả về 3.

tùy chọn chuỗi

Văn bản xuất hiện trong lịch trình và bảng chỉ dẫn để hành khách nhận biết chuyến đi bằng phương tiện công cộng. Văn bản này phải xác định duy nhất một chuyến đi trong một ngày dịch vụ. Ví dụ: "538" là trip_short_name của chuyến tàu Amtrak khởi hành từ San Jose, CA lúc 15:10 vào các ngày trong tuần để đến Sacramento, CA.

DirectionsTransitStop

Trường Bắt buộc Loại Mô tả
bắt buộc LatLngLiteral

Vị trí của điểm dừng.

Hãy xem LatLngLiteral để biết thêm thông tin.

bắt buộc chuỗi

Tên của điểm dừng phương tiện công cộng.

TimeZoneTextValueObject

Một đối tượng chứa thời gian Unix, múi giờ và giá trị biểu thị văn bản được định dạng của đối tượng đó.

Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Thời gian được chỉ định dưới dạng chuỗi trong múi giờ.

bắt buộc chuỗi

Chứa múi giờ. Giá trị này là tên của múi giờ được xác định trong Cơ sở dữ liệu múi giờ IANA, ví dụ: "America/New_York".

bắt buộc số

Thời gian được chỉ định là thời gian Unix hoặc số giây kể từ nửa đêm ngày 1 tháng 1 năm 1970 theo giờ UTC.

DirectionsTransitLine

Trường Bắt buộc Loại Mô tả
bắt buộc Array<DirectionsTransitAgency>

Công ty vận tải (hoặc các công ty vận tải) vận hành tuyến phương tiện công cộng này.

Hãy xem DirectionsTransitAgency để biết thêm thông tin.

bắt buộc chuỗi

Tên đầy đủ của tuyến phương tiện công cộng này, ví dụ: "8 Avenue Local".

tùy chọn chuỗi

Màu thường dùng trong biển báo cho tuyến này.

tùy chọn chuỗi

Chứa URL của biểu tượng liên kết với tuyến này.

tùy chọn chuỗi

Tên ngắn của tuyến phương tiện công cộng này. Thông thường, đây sẽ là số tuyến, chẳng hạn như "M7" hoặc "355".

tùy chọn chuỗi

Màu thường dùng trong biển báo cho tuyến này.

tùy chọn chuỗi

Chứa URL của tuyến phương tiện công cộng này do công ty vận tải cung cấp.

tùy chọn DirectionsTransitVehicle

Loại phương tiện hoạt động trên tuyến phương tiện công cộng này.

Hãy xem DirectionsTransitVehicle để biết thêm thông tin.

DirectionsTransitAgency

Trường Bắt buộc Loại Mô tả
tùy chọn chuỗi

Tên của công ty vận tải này.

tùy chọn chuỗi

Số điện thoại của công ty vận tải.

tùy chọn chuỗi

URL của công ty vận tải.

DirectionsTransitVehicle

Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Tên của xe này, viết hoa.

bắt buộc chuỗi

Loại xe được sử dụng.

  • BUS – Xe buýt.
  • CABLE_CAR – Phương tiện vận hành bằng cáp, thường là trên mặt đất. Cáp treo trên không có thể thuộc loại GONDOLA_LIFT.
  • COMMUTER_TRAIN – Tàu chở khách đi làm.
  • FERRY – Phà.
  • FUNICULAR – Một phương tiện được kéo lên dốc cao bằng cáp. Một Funicular thường bao gồm hai toa xe, trong đó mỗi toa xe đóng vai trò là đối trọng cho toa xe kia.
  • GONDOLA_LIFT – Cáp treo trên không.
  • HEAVY_RAIL – Tàu điện hạng nặng.
  • HIGH_SPEED_TRAIN – Tàu cao tốc.
  • INTERCITY_BUS – Xe buýt liên tỉnh.
  • LONG_DISTANCE_TRAIN – Tàu đường dài.
  • METRO_RAIL – Xe điện.
  • MONORAIL – Monorail.
  • OTHER – Tất cả các phương tiện khác sẽ trả về loại này.
  • RAIL – Đường sắt.
  • SHARE_TAXI – Xe taxi đi chung là một loại xe buýt có thể đón và trả khách ở bất cứ đâu trên tuyến đường của xe.
  • SUBWAY – Xe điện ngầm.
  • TRAM – Xe điện trên mặt đất.
  • TROLLEYBUS – Xe buýt điện.
The allowed values include: BUS, CABLE_CAR, COMMUTER_TRAIN, FERRY, FUNICULAR, GONDOLA_LIFT, HEAVY_RAIL, HIGH_SPEED_TRAIN, INTERCITY_BUS, LONG_DISTANCE_TRAIN, METRO_RAIL, MONORAIL, OTHER, RAIL, SHARE_TAXI, SUBWAY, TRAM, and TROLLEYBUS
tùy chọn chuỗi

Chứa URL của biểu tượng liên kết với loại xe này.

tùy chọn chuỗi

Chứa URL của biểu tượng liên kết với loại phương tiện này, dựa trên biển báo giao thông địa phương.

DirectionsTrafficSpeedEntry

Trường Bắt buộc Loại Mô tả
bắt buộc số

Độ lệch dọc theo đường đi (tính bằng mét) mà danh mục tốc độ này có hiệu lực.

bắt buộc chuỗi

Tình trạng giao thông/tốc độ hiện tại trên đoạn đường này.

DirectionsViaWaypoint

Trường Bắt buộc Loại Mô tả
tùy chọn LatLngLiteral

Vị trí của điểm tham chiếu.

Hãy xem LatLngLiteral để biết thêm thông tin.

tùy chọn số nguyên

Chỉ mục của bước chứa điểm tham chiếu.

tùy chọn số

Vị trí của điểm tham chiếu dọc theo hình nhiều đường của bước, được biểu thị dưới dạng tỷ lệ từ 0 đến 1.

Giá vé

Tổng giá vé cho tuyến đường.

{
  "currency" : "USD",
  "value" : 6,
  "text" : "$6.00"
}
Trường Bắt buộc Loại Mô tả
bắt buộc chuỗi

Mã tiền tệ theo ISO 4217 cho biết đơn vị tiền tệ của số tiền.

bắt buộc chuỗi

Tổng giá vé, được định dạng theo ngôn ngữ được yêu cầu.

bắt buộc số

Tổng giá vé, theo đơn vị tiền tệ được chỉ định.

DirectionsStatus

Trường trạng thái trong đối tượng phản hồi của Chỉ đường chứa trạng thái của yêu cầu và có thể chứa thông tin gỡ lỗi để giúp bạn tìm ra lý do khiến dịch vụ Chỉ đường không thành công. Trường trạng thái có thể chứa các giá trị sau:

  • OK cho biết phản hồi chứa kết quả hợp lệ.
  • NOT_FOUND cho biết ít nhất một trong các vị trí được chỉ định trong điểm xuất phát, điểm đến hoặc điểm tham chiếu của yêu cầu không thể được mã hoá địa lý.
  • ZERO_RESULTS cho biết không tìm thấy tuyến đường nào giữa điểm xuất phát và điểm đến.
  • MAX_WAYPOINTS_EXCEEDED cho biết rằng có quá nhiều điểm tham chiếu được cung cấp trong yêu cầu. Đối với các ứng dụng sử dụng Directions API làm dịch vụ web hoặc dịch vụ chỉ đường trong Maps JavaScript API, số lượng điểm tham chiếu tối đa được phép là 25, cộng với điểm xuất phát và điểm đến.
  • MAX_ROUTE_LENGTH_EXCEEDED cho biết tuyến đường được yêu cầu quá dài và không thể xử lý. Lỗi này xảy ra khi hệ thống trả về thông tin đường đi phức tạp hơn. Hãy thử giảm số lượng điểm tham chiếu, ngã rẽ hoặc chỉ dẫn.
  • INVALID_REQUEST cho biết rằng yêu cầu được cung cấp không hợp lệ. Nguyên nhân phổ biến của trạng thái này bao gồm tham số hoặc giá trị tham số không hợp lệ.
  • OVER_DAILY_LIMIT cho biết bất kỳ điều nào sau đây:
    • Khoá API bị thiếu hoặc không hợp lệ.
    • Bạn chưa bật tính năng thanh toán trên tài khoản của mình.
    • Đã vượt quá hạn mức sử dụng do bạn tự đặt ra.
    • Phương thức thanh toán bạn cung cấp không còn hợp lệ (ví dụ: thẻ tín dụng đã hết hạn).
    Hãy xem phần Câu hỏi thường gặp về Maps để tìm hiểu cách khắc phục vấn đề này.
  • OVER_QUERY_LIMIT cho biết dịch vụ đã nhận được quá nhiều yêu cầu từ ứng dụng của bạn trong khoảng thời gian cho phép.
  • REQUEST_DENIED cho biết dịch vụ đã từ chối cho phép ứng dụng của bạn sử dụng dịch vụ chỉ đường.
  • UNKNOWN_ERROR cho biết không thể xử lý yêu cầu chỉ đường do lỗi máy chủ. Yêu cầu có thể thành công nếu bạn thử lại.

DirectionsGeocodedWaypoint

Trường Bắt buộc Loại Mô tả
tùy chọn chuỗi

Cho biết mã trạng thái do thao tác mã hoá địa lý. Trường này có thể chứa các giá trị sau.

The allowed values include: OK, and ZERO_RESULTS
tùy chọn

Cho biết rằng bộ mã hoá địa lý không trả về kết quả khớp chính xác cho yêu cầu ban đầu, mặc dù có thể khớp một phần địa chỉ được yêu cầu. Bạn nên kiểm tra yêu cầu ban đầu để xem có lỗi chính tả và/hoặc địa chỉ chưa hoàn chỉnh hay không.

Kết quả trùng khớp một phần thường xảy ra đối với những địa chỉ đường phố không tồn tại trong địa phương mà bạn truyền vào yêu cầu. Kết quả khớp một phần cũng có thể được trả về khi một yêu cầu khớp với hai hoặc nhiều vị trí trong cùng một địa phương. Ví dụ: "21 Henr St, Bristol, UK" sẽ trả về kết quả khớp một phần cho cả Henry Street và Henrietta Street. Xin lưu ý rằng nếu một yêu cầu có chứa thành phần địa chỉ bị sai chính tả, thì dịch vụ mã hoá địa lý có thể đề xuất một địa chỉ thay thế. Các đề xuất được kích hoạt theo cách này cũng sẽ được đánh dấu là trùng khớp một phần.

tùy chọn chuỗi

Giá trị nhận dạng riêng biệt có thể dùng với các API khác của Google. Xem Tổng quan về mã địa điểm.

tùy chọn Array<string>

Cho biết loại địa chỉ của kết quả mã hoá địa lý dùng để tính toán đường đi.

  • administrative_area_level_1 cho biết một khu vực hành chính cấp một dưới cấp quốc gia. Tại Hoa Kỳ, các cấp hành chính này là tiểu bang. Chỉ một số quốc gia có các cấp hành chính này. Trong hầu hết các trường hợp, tên viết tắt của administrative_area_level_1 sẽ gần khớp với các phân khu ISO 3166-2 và các danh sách được lưu hành rộng rãi khác; tuy nhiên, điều này không được đảm bảo vì kết quả mã hoá địa lý của chúng tôi dựa trên nhiều tín hiệu và dữ liệu vị trí.
  • administrative_area_level_2 cho biết một khu vực hành chính cấp hai dưới cấp quốc gia. Tại Hoa Kỳ, các cấp hành chính này là hạt. Chỉ một số quốc gia có các cấp hành chính này.
  • administrative_area_level_3 cho biết một khu vực hành chính cấp ba dưới cấp quốc gia. Loại này cho biết một đơn vị hành chính nhỏ. Chỉ một số quốc gia sử dụng các cấp hành chính này.
  • administrative_area_level_4 cho biết một khu vực hành chính cấp bốn dưới cấp quốc gia. Loại này cho biết một đơn vị hành chính nhỏ. Chỉ một số quốc gia sử dụng các cấp hành chính này.
  • administrative_area_level_5 cho biết khu vực hành chính cấp năm dưới cấp quốc gia. Loại này cho biết một đơn vị hành chính nhỏ. Chỉ một số quốc gia sử dụng các cấp hành chính này.
  • airport cho biết sân bay.
  • colloquial_area cho biết tên thay thế thường dùng cho pháp nhân.
  • country cho biết thực thể chính trị quốc gia và thường là loại thứ tự cao nhất mà Bộ mã hoá địa lý trả về.
  • intersection cho biết một giao lộ lớn, thường là của hai đường lớn.
  • locality cho biết một pháp nhân chính trị là thành phố hoặc thị trấn hợp nhất.
  • natural_feature cho biết một đặc điểm tự nhiên nổi bật.
  • neighborhood cho biết một khu vực lân cận có tên
  • park cho biết một công viên có tên.
  • plus_code cho biết thông tin tham chiếu vị trí được mã hoá, bắt nguồn từ vĩ độ và kinh độ. Bạn có thể sử dụng Plus Codes để thay thế cho địa chỉ đường phố ở những nơi không có địa chỉ đường phố (nơi các toà nhà không được đánh số hoặc đường phố không có tên). Hãy xem https://plus.codes để biết thông tin chi tiết.
  • point_of_interest cho biết một địa điểm yêu thích có tên. Thông thường, những "địa điểm yêu thích" này là các thực thể nổi bật tại địa phương không dễ dàng phù hợp với một danh mục khác, chẳng hạn như "Tòa nhà Empire State" hoặc "Tháp Eiffel".
  • political cho biết một tổ chức chính trị. Thông thường, loại này cho biết một đa giác của một số cơ quan quản lý dân sự.
  • postal_code cho biết mã bưu chính được dùng để gửi thư bưu chính trong quốc gia.
  • premise cho biết một vị trí có tên, thường là một toà nhà hoặc tập hợp các toà nhà có tên chung
  • route cho biết một tuyến đường có tên (chẳng hạn như "US 101").
  • street_address cho biết địa chỉ đường phố chính xác.
  • sublocality cho biết một thực thể dân sự cấp một bên dưới một địa phương. Đối với một số vị trí, bạn có thể nhận được một trong các loại bổ sung: sublocality_level_1 đến sublocality_level_5. Mỗi cấp địa phương phụ là một thực thể dân sự. Số càng lớn thì khu vực địa lý càng nhỏ.
  • subpremise cho biết một thực thể cấp một bên dưới một vị trí có tên, thường là một toà nhà riêng lẻ trong một tập hợp các toà nhà có tên chung
  • tourist_attraction cho biết một điểm tham quan du lịch.
  • train_station cho biết ga tàu.
  • transit_station cho biết một trạm phương tiện công cộng.

Danh sách loại trống cho biết không có loại nào đã biết cho thành phần địa chỉ cụ thể, ví dụ: Lieu-dit ở Pháp.