Directions

Lớp DirectionsService

Lớp google.maps.DirectionsService

Một dịch vụ để tính toán đường đi giữa hai hoặc nhiều địa điểm.

Truy cập bằng cách gọi const {DirectionsService} = await google.maps.importLibrary("routes").
Xem Thư viện trong Maps JavaScript API.

DirectionsService
DirectionsService()
Tham số:  Không có
Tạo một phiên bản mới của DirectionsService để gửi các truy vấn chỉ đường đến máy chủ của Google.
route
route(request[, callback])
Tham số: 
Giá trị trả về:  Promise<DirectionsResult>
Đưa ra yêu cầu tìm đường.

Giao diện DirectionsRequest

google.maps.DirectionsRequestgiao diện

Một cụm từ tìm kiếm chỉ đường sẽ được gửi đến DirectionsService.

destination
Loại:  string|LatLng|Place|LatLngLiteral
Vị trí của điểm đến. Bạn có thể chỉ định tham số này dưới dạng một chuỗi cần được mã hoá địa lý, hoặc một LatLng, hoặc một Place. Bắt buộc.
origin
Loại:  string|LatLng|Place|LatLngLiteral
Vị trí xuất xứ. Bạn có thể chỉ định tham số này dưới dạng một chuỗi cần được mã hoá địa lý, hoặc một LatLng, hoặc một Place. Bắt buộc.
travelMode
Loại:  TravelMode
Loại định tuyến được yêu cầu. Bắt buộc.
avoidFerries optional
Loại:  boolean optional
Nếu true, hướng dẫn dịch vụ Chỉ đường tránh phà khi có thể. Không bắt buộc.
avoidHighways optional
Loại:  boolean optional
Nếu true, hãy hướng dẫn dịch vụ Chỉ đường tránh đường cao tốc nếu có thể. Không bắt buộc.
avoidTolls optional
Loại:  boolean optional
Nếu true, hãy hướng dẫn dịch vụ Đường đi tránh đường thu phí khi có thể. Không bắt buộc.
drivingOptions optional
Loại:  DrivingOptions optional
Các chế độ cài đặt chỉ áp dụng cho những yêu cầu có travelModeDRIVING. Đối tượng này sẽ không ảnh hưởng đến các phương thức di chuyển khác.
language optional
Loại:  string optional
Giá trị nhận dạng ngôn ngữ cho ngôn ngữ mà kết quả sẽ được trả về (nếu có thể). Xem danh sách ngôn ngữ được hỗ trợ.
optimizeWaypoints optional
Loại:  boolean optional
Nếu được đặt thành true, thì DirectionsService sẽ cố gắng sắp xếp lại các điểm tham chiếu trung gian được cung cấp để giảm thiểu tổng chi phí của tuyến đường. Nếu các điểm tham chiếu được tối ưu hoá, hãy kiểm tra DirectionsRoute.waypoint_order trong phản hồi để xác định thứ tự mới.
provideRouteAlternatives optional
Loại:  boolean optional
Có nên cung cấp các tuyến đường thay thế hay không. Không bắt buộc.
region optional
Loại:  string optional
Mã khu vực được dùng làm hệ số thiên vị cho các yêu cầu mã hoá địa lý. Mã khu vực chấp nhận giá trị gồm 2 ký tự ccTLD ("miền cấp cao nhất"). Hầu hết mã ccTLD đều giống với mã ISO 3166-1, ngoại trừ một số trường hợp đá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 Anh và Bắc Ireland").
transitOptions optional
Loại:  TransitOptions optional
Các chế độ cài đặt chỉ áp dụng cho những yêu cầu có travelMode là TRANSIT. Đối tượng này sẽ không ảnh hưởng đến các phương thức di chuyển khác.
unitSystem optional
Loại:  UnitSystem optional
Mặc định: Hệ thống đơn vị được sử dụng ở quốc gia xuất xứ.
Hệ đơn vị ưu tiên dùng khi hiển thị khoảng cách.
waypoints optional
Loại:  Array<DirectionsWaypoint> optional
Mảng gồm các điểm tham chiếu trung gian. Đường đi được tính từ điểm bắt đầu đến điểm đến thông qua từng điểm tham chiếu trong mảng này. Hãy xem hướng dẫn dành cho nhà phát triển để biết số lượng điểm đánh dấu tối đa được phép. Không hỗ trợ điểm trung gian cho chỉ đường bằng phương tiện công cộng. Không bắt buộc.

Hằng số DirectionsStatus

Hằng số google.maps.DirectionsStatus

Trạng thái do DirectionsService trả về khi hoàn tất lệnh gọi đến route(). Chỉ định các giá trị này theo giá trị hoặc bằng cách sử dụng tên của hằng số. Ví dụ: 'OK' hoặc google.maps.DirectionsStatus.OK.

Truy cập bằng cách gọi const {DirectionsStatus} = await google.maps.importLibrary("routes").
Xem Thư viện trong Maps JavaScript API.

INVALID_REQUEST DirectionsRequest bạn cung cấp không hợp lệ.
MAX_WAYPOINTS_EXCEEDED Bạn đã cung cấp quá nhiều DirectionsWaypoint trong DirectionsRequest. Hãy xem hướng dẫn dành cho nhà phát triển để biết số lượng điểm đánh dấu tối đa được phép.
NOT_FOUND Không thể mã hoá địa lý ít nhất một trong các điểm xuất phát, điểm đến hoặc điểm tham chiếu.
OK Phản hồi chứa một DirectionsResult hợp lệ.
OVER_QUERY_LIMIT Trang web đã vượt quá giới hạn yêu cầu trong một khoảng thời gian quá ngắn.
REQUEST_DENIED Trang web không được phép sử dụng dịch vụ chỉ đường.
UNKNOWN_ERROR Không xử lý được 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.
ZERO_RESULTS Không tìm thấy tuyến đường nào giữa điểm khởi hành và điểm đến.

Giao diện DirectionsResult

google.maps.DirectionsResultgiao diện

Phản hồi chỉ đường được truy xuất từ máy chủ chỉ đường. Bạn có thể kết xuất các đối tượng này bằng cách sử dụng DirectionsRenderer hoặc phân tích cú pháp đối tượng này và tự kết xuất. Bạn phải hiển thị cảnh báo và bản quyền như được nêu trong Điều khoản dịch vụ của Nền tảng Google Maps. Xin lưu ý rằng mặc dù kết quả này có "dạng JSON", nhưng không phải là JSON theo đúng nghĩa, vì kết quả này gián tiếp bao gồm các đối tượng LatLng.

request
DirectionsRequest đã tạo ra kết quả này.
routes
Một mảng gồm các DirectionsRoute, mỗi DirectionsRoute chứa thông tin về các đoạn đường và bước mà đoạn đường đó bao gồm. Chỉ có một tuyến đường, trừ phi DirectionsRequest được tạo khi provideRouteAlternatives được đặt thành true.
available_travel_modes optional
Loại:  Array<TravelMode> optional
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 chế độ di chuyển và không nhận được kết quả. Mảng này chứa các chế độ di chuyển có sẵn ở các quốc gia trong nhóm điểm tham chiếu đã cho. Trường này sẽ không được trả về nếu một hoặc nhiều điểm đánh dấu là "điểm đánh dấu trung gian".
geocoded_waypoints optional
Loại:  Array<DirectionsGeocodedWaypoint> optional
Một mảng gồm các DirectionsGeocodedWaypoint, mỗi DirectionsGeocodedWaypoint chứa thông tin về hoạt động mã hoá địa lý của điểm xuất phát, điểm đến và điểm tham chiếu.

Lớp DirectionsRenderer

Lớp google.maps.DirectionsRenderer

Kết xuất chỉ đường lấy được từ DirectionsService.

Lớp này mở rộng MVCObject.

Truy cập bằng cách gọi const {DirectionsRenderer} = await google.maps.importLibrary("routes").
Xem Thư viện trong Maps JavaScript API.

DirectionsRenderer
DirectionsRenderer([opts])
Tham số: 
Tạo trình kết xuất bằng các lựa chọn đã cho. Đường đi có thể được hiển thị trên bản đồ (dưới dạng lớp phủ trực quan) hoặc trên bảng điều khiển <div> (dưới dạng hướng dẫn bằng văn bản).
getDirections
getDirections()
Tham số:  Không có
Giá trị trả về:  DirectionsResult
Trả về nhóm chỉ dẫn hiện tại của trình kết xuất.
getMap
getMap()
Tham số:  Không có
Giá trị trả về:  Map
Trả về bản đồ mà DirectionsResult được kết xuất.
getPanel
getPanel()
Tham số:  Không có
Giá trị trả về:  HTMLElement|null
Trả về bảng điều khiển <div>DirectionsResult được kết xuất.
getRouteIndex
getRouteIndex()
Tham số:  Không có
Giá trị trả về:  number
Trả về chỉ mục tuyến đường hiện tại (dựa trên 0) mà đối tượng DirectionsRenderer này đang sử dụng.
setDirections
setDirections(directions)
Tham số: 
Giá trị trả về:  Không có
Đặt trình kết xuất để sử dụng kết quả từ DirectionsService. Việc đặt một bộ chỉ dẫn hợp lệ theo cách này sẽ hiển thị chỉ dẫn trên bản đồ và bảng điều khiển được chỉ định của trình kết xuất.
setMap
setMap(map)
Tham số: 
Giá trị trả về:  Không có
Phương thức này chỉ định bản đồ mà chỉ đường sẽ được hiển thị. Truyền null để xoá chỉ đường khỏi bản đồ.
setOptions
setOptions(options)
Tham số: 
Giá trị trả về:  Không có
Thay đổi chế độ cài đặt lựa chọn của DirectionsRenderer này sau khi khởi tạo.
setPanel
setPanel(panel)
Tham số: 
Giá trị trả về:  Không có
Phương thức này hiển thị đường đi trong một <div>. Truyền null để xoá nội dung khỏi bảng điều khiển.
setRouteIndex
setRouteIndex(routeIndex)
Tham số: 
  • routeIndexnumber
Giá trị trả về:  Không có
Đặt chỉ mục (bắt đầu từ 0) của tuyến đường trong đối tượng DirectionsResult để hiển thị. Theo mặc định, tuyến đường đầu tiên trong mảng sẽ được hiển thị.
Kế thừa: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll
directions_changed
function()
Đối số:  Không có
Sự kiện này được kích hoạt khi chỉ dẫn được kết xuất thay đổi, khi một DirectionsResult mới được đặt hoặc khi người dùng hoàn tất việc kéo một thay đổi vào đường dẫn chỉ dẫn.

Giao diện DirectionsRendererOptions

google.maps.DirectionsRendererOptionsgiao diện

Đối tượng này xác định các thuộc tính có thể được đặt trên một đối tượng DirectionsRenderer.

directions optional
Loại:  DirectionsResult optional
Đường đi để hiển thị trên bản đồ và/hoặc trong bảng <div>, được truy xuất dưới dạng đối tượng DirectionsResult từ DirectionsService.
draggable optional
Loại:  boolean optional
Nếu true, cho phép người dùng kéo và sửa đổi đường dẫn của các tuyến đường do DirectionsRenderer này kết xuất.
hideRouteList optional
Loại:  boolean optional
Mặc định: false
Thuộc tính này cho biết liệu trình kết xuất có cung cấp danh sách các tuyến đường mà người dùng có thể chọn trong bảng điều hướng hay không.
infoWindow optional
Loại:  InfoWindow optional
InfoWindow để hiển thị thông tin văn bản khi người dùng nhấp vào một điểm đánh dấu. Nội dung hiện có trong cửa sổ thông tin sẽ bị ghi đè và vị trí của cửa sổ này sẽ được di chuyển. Nếu bạn không chỉ định cửa sổ thông tin, DirectionsRenderer sẽ tạo và sử dụng cửa sổ thông tin riêng. Thuộc tính này sẽ bị bỏ qua nếu bạn đặt suppressInfoWindows thành true.
map optional
Loại:  Map optional
Bản đồ để hiển thị đường đi.
markerOptions optional
Loại:  MarkerOptions optional
Các lựa chọn cho điểm đánh dấu. Tất cả các điểm đánh dấu do DirectionsRenderer hiển thị sẽ sử dụng các lựa chọn này.
panel optional
Loại:  HTMLElement optional
<div> để hiển thị các bước chỉ đường.
polylineOptions optional
Loại:  PolylineOptions optional
Các lựa chọn cho đường nhiều đoạn. Tất cả các đường nhiều đoạn do DirectionsRenderer kết xuất sẽ sử dụng các lựa chọn này.
preserveViewport optional
Loại:  boolean optional
Mặc định: false
Nếu bạn đặt lựa chọn này thành true hoặc chưa bao giờ đặt tâm và mức thu phóng của bản đồ, thì bản đồ đầu vào sẽ được đặt ở giữa và thu phóng theo hộp giới hạn của tập hợp chỉ đường này.
routeIndex optional
Loại:  number optional
Chỉ mục của tuyến đường trong đối tượng DirectionsResult. Giá trị mặc định là "0".
suppressBicyclingLayer optional
Loại:  boolean optional
Ngăn chặn việc kết xuất BicyclingLayer khi có yêu cầu chỉ đường cho xe đạp.
suppressInfoWindows optional
Loại:  boolean optional
Ngăn việc hiển thị cửa sổ thông tin.
suppressMarkers optional
Loại:  boolean optional
Ngăn chặn việc hiển thị các điểm đánh dấu.
suppressPolylines optional
Loại:  boolean optional
Ngăn kết xuất nhiều đường.

Giao diện DirectionsWaypoint

google.maps.DirectionsWaypointgiao diện

DirectionsWaypoint đại diện cho một vị trí giữa điểm khởi hành và điểm đến mà chuyến đi phải đi qua.

location optional
Loại:  string|LatLng|LatLngLiteral|Place optional
Vị trí điểm tham chiếu. Có thể là một chuỗi địa chỉ, LatLng hoặc Place. Không bắt buộc.
stopover optional
Loại:  boolean optional
Mặc định: true
Nếu true, thì tức là điểm đánh dấu này là một điểm dừng giữa điểm khởi hành và điểm đến. Điều này có tác dụng chia tuyến đường thành 2 chặng. Nếu false, cho biết tuyến đường nên được điều chỉnh để đi qua điểm tham chiếu này, nhưng không được chia thành 2 chặng. Điều này rất hữu ích nếu bạn muốn tạo một tuyến đường để phản hồi thao tác kéo điểm tham chiếu của người dùng trên bản đồ.

Giao diện DirectionsGeocodedWaypoint

google.maps.DirectionsGeocodedWaypointgiao diện

Một điểm tham chiếu duy nhất được mã hoá địa lý.

partial_match optional
Loại:  boolean optional
Cho dù trình mã hoá địa lý không trả về kết quả khớp chính xác cho điểm tham chiếu ban đầu, nhưng vẫn có thể khớp một phần của địa chỉ được yêu cầu.
place_id optional
Loại:  string optional
Mã địa điểm được liên kết với điểm đánh dấu. Mã địa điểm giúp xác định riêng một địa điểm trong cơ sở dữ liệu của Google Địa điểm và trên Google Maps. Tìm hiểu thêm về Mã địa điểm trong hướng dẫn dành cho nhà phát triển Places API.
types optional
Loại:  Array<string> optional
Một mảng gồm các chuỗi biểu thị loại phần tử được trả về đã được mã hoá địa lý. Để biết danh sách các chuỗi có thể có, hãy tham khảo phần Các loại thành phần địa chỉ trong Hướng dẫn dành cho nhà phát triển.

Giao diện DirectionsRoute

google.maps.DirectionsRoutegiao diện

Một tuyến đường duy nhất chứa một nhóm chặng trong DirectionsResult. Xin lưu ý rằng mặc dù đối tượng này có "dạng JSON", nhưng không phải là JSON theo đúng nghĩa, vì đối tượng này bao gồm trực tiếp và gián tiếp các đối tượng LatLng.

bounds
Loại:  LatLngBounds
Ranh giới của tuyến đường này.
copyrights
Loại:  string
Văn bản bản quyền sẽ xuất hiện cho tuyến đường này.
legs
Loại:  Array<DirectionsLeg>
Một mảng gồm các DirectionsLeg, mỗi DirectionsLeg chứa thông tin về các bước mà mảng đó bao gồm. Mỗi điểm dừng chân hoặc đích đến được chỉ định sẽ có một chặng. Vì vậy, một tuyến đường không có điểm dừng chân sẽ chứa một DirectionsLeg và một tuyến đường có một điểm dừng chân sẽ chứa hai điểm.
overview_path
Loại:  Array<LatLng>
Một mảng gồm các LatLng đại diện cho toàn bộ khoá học của tuyến đường này. Đường dẫn này được đơn giản hoá để phù hợp trong những ngữ cảnh cần một số ít đỉnh (chẳng hạn như URL của Static Maps API).
overview_polyline
Loại:  string
Biểu thị bằng chuỗi nhiều đường được mã hoá của tuyến đường trong overview_path. Đường nhiều đường này là đường dẫn gần đúng (được làm mịn) của chỉ đường thu được.
summary
Loại:  string
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ế.
warnings
Loại:  Array<string>
Cảnh báo sẽ xuất hiện khi chỉ đường.
waypoint_order
Loại:  Array<number>
Nếu optimizeWaypoints được đặt thành true, trường này sẽ chứa hoán vị được sắp xếp lại của các điểm tham chiếu đầu vào. Ví dụ: nếu đầu vào là:
  Điểm xuất phát: Los Angeles
  Điểm dừng chân: Dallas, Bangor, Phoenix
  Điểm đến: New York
và đầu ra được tối ưu hoá được sắp xếp như sau:
  Điểm xuất phát: Los Angeles
  Điểm dừng chân: Phoenix, Dallas, Bangor
  Điểm đến: New York
thì trường này sẽ là một Array chứa các giá trị [2, 0, 1]. Xin lưu ý rằng các điểm đánh dấu được đánh số từ 0.
Nếu bất kỳ điểm tham chiếu đầu vào nào có stopover được đặt thành false, thì trường này sẽ trống vì tính năng tối ưu hoá tuyến đường không dùng được cho những truy vấn như vậy.
fare optional
Loại:  TransitFare optional
Tổng giá vé cho toàn bộ chuyến đi bằng phương tiện công cộng. Chỉ áp dụng cho các yêu cầu về phương tiện công cộng.

Giao diện DirectionsLeg

google.maps.DirectionsLeggiao diện

Một chặng bao gồm một nhóm các bước trong một DirectionsResult. Một số trường trong chặng có thể không được trả về cho tất cả các yêu cầu. Xin lưu ý rằng mặc dù kết quả này có "dạng JSON", nhưng không phải là JSON theo đúng nghĩa, vì kết quả này bao gồm trực tiếp và gián tiếp các đối tượng LatLng.

end_address
Loại:  string
Địa chỉ của điểm đến trong chặng này. Bạn nên đọc nội dung này như hiện trạng. Đừng phân tích cú pháp địa chỉ được định dạng theo cách lập trình.
end_location
Loại:  LatLng
DirectionsService 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 vị trí bắt đầu và kết thúc. end_location cho biết đích đến thực tế đã được mã hoá địa lý, có thể khác với end_location của bước cuối cùng nếu, chẳng hạn như, đường không gần với đích đến của chặng này.
start_address
Loại:  string
Địa chỉ của điểm khởi hành của chặng bay này. Bạn nên đọc nội dung này như hiện trạng. Đừng phân tích cú pháp địa chỉ được định dạng theo cách lập trình.
start_location
Loại:  LatLng
DirectionsService 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 vị trí bắt đầu và kết thúc. start_location cho biết vị trí thực tế được mã hoá địa lý, có thể khác với start_location của bước đầu tiên nếu, chẳng hạn như đường không gần với điểm bắt đầu của chặng này.
steps
Loại: