可讓您擷取不同地點之間的路線。
以下範例說明如何使用這個類別取得從市政府到中央公園的路線,並先在林肯中心停留,在地圖上標示位置和路線,然後透過電子郵件傳送地圖。
// Get the directions. const directions = Maps.newDirectionFinder() .setOrigin('Times Square, New York, NY') .addWaypoint('Lincoln Center, New York, NY') .setDestination('Central Park, New York, NY') .setMode(Maps.DirectionFinder.Mode.DRIVING) .getDirections(); const route = directions.routes[0]; // Set up marker styles. let markerLetterCode = 'A'.charCodeAt(); // Add markers to the map. const map = Maps.newStaticMap(); for (let i = 0; i < route.legs.length; i++) { const leg = route.legs[i]; if (i === 0) { // Add a marker for the start location of the first leg only. map.setMarkerStyle( Maps.StaticMap.MarkerSize.MID, Maps.StaticMap.Color.GREEN, String.fromCharCode(markerLetterCode), ); map.addMarker(leg.start_location.lat, leg.start_location.lng); markerLetterCode++; } map.setMarkerStyle( Maps.StaticMap.MarkerSize.MID, Maps.StaticMap.Color.GREEN, String.fromCharCode(markerLetterCode), ); map.addMarker(leg.end_location.lat, leg.end_location.lng); markerLetterCode++; } // Add a path for the entire route. map.addPath(route.overview_polyline.points); // Send the map in an email. const toAddress = Session.getActiveUser().getEmail(); MailApp.sendEmail( toAddress, 'Directions', `Please open: ${map.getMapUrl()}&key=YOUR_API_KEY`, { htmlBody: 'See below.<br/><img src="cid:mapImage">', inlineImages: { mapImage: Utilities.newBlob(map.getMapImage(), 'image/png'), }, }, );
另請參閱
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
add | Direction | 使用點 (緯/經) 新增路線必須經過的路線點。 |
add | Direction | 使用地址新增路線必須經過的路線點。 |
clear | Direction | 清除目前的路標組合。 |
get | Object | 使用已設定的起點、目的地和其他選項,取得路線。 |
set | Direction | 設定是否應傳回替代路線,而非僅傳回最高排名的路線 (預設為 false)。 |
set | Direction | 設定所需的到達時間 (如適用)。 |
set | Direction | 設定是否要避免特定類型的限制。 |
set | Direction | 設定所需的出發時間 (如適用)。 |
set | Direction | 使用點 (緯度/經度) 設定要計算路線的終點位置。 |
set | Direction | 使用地址設定要計算路線的終點位置。 |
set | Direction | 設定路線指示的語言。 |
set | Direction | 設定交通方式 (預設為駕車)。 |
set | Direction | 設定是否要透過更有效率的順序調整路線控點,以便最佳化提供的路線 (預設為 false)。 |
set | Direction | 使用點 (緯度/經度) 設定起始位置,以便計算路線。 |
set | Direction | 使用地址設定起點,以便計算路線。 |
set | Direction | 設定解讀地點名稱時要使用的區域。 |
內容詳盡的說明文件
add Waypoint(latitude, longitude)
使用點 (緯/經) 新增路線必須經過的路線點。
// Creates a DirectionFinder with a wapoint at Lincoln Center. const directionFinder = Maps.newDirectionFinder().addWaypoint( 40.772628, -73.984243, );
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 航點的緯度。 |
longitude | Number | 航路點的經度。 |
回攻員
Direction
:DirectionFinder 物件,可協助鏈結呼叫。
add Waypoint(address)
使用地址新增路線必須經過的路線點。
// Creates a DirectionFinder with a wapoint at Lincoln Center. const directionFinder = Maps.newDirectionFinder().addWaypoint( 'Lincoln Center, New York, NY', );
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 地址。 |
回攻員
Direction
:DirectionFinder 物件,可協助鏈結呼叫。
clear Waypoints()
清除目前的路標組合。
const directionFinder = Maps.newDirectionFinder(); // ... // Do something interesting here ... // ... // Remove all waypoints added with addWaypoint(). directionFinder.clearWaypoints();
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
get Directions()
使用已設定的起點、目的地和其他選項,取得路線。
// Logs how long it would take to walk from Times Square to Central Park. const directions = Maps.newDirectionFinder() .setOrigin('Times Square, New York, NY') .setDestination('Central Park, New York, NY') .setMode(Maps.DirectionFinder.Mode.WALKING) .getDirections(); Logger.log(directions.routes[0].legs[0].duration.text);
回攻員
Object
:包含路線指示的路線集合的 JSON 物件,如這裡所述
另請參閱
set Alternatives(useAlternatives)
設定是否應傳回替代路線,而非僅傳回排名最高的路線 (預設為 false)。如果為 true,產生的物件 routes
陣列可能會包含多個項目。
// Creates a DirectionFinder with alternative routes enabled. const directionFinder = Maps.newDirectionFinder().setAlternatives(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
use | Boolean | 傳回替代路線為 true,否則為 false |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
set Arrive(time)
設定所需的到達時間 (如適用)。
// Creates a DirectionFinder with an arrival time of 2 hours from now. const now = new Date(); const arrive = new Date(now.getTime() + 2 * 60 * 60 * 1000); const directionFinder = Maps.newDirectionFinder().setArrive(arrive);
參數
名稱 | 類型 | 說明 |
---|---|---|
time | Date | 抵達時間 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
另請參閱
set Avoid(avoid)
設定是否要避免特定類型的限制。
// Creates a DirectionFinder that avoid highways. const directionFinder = Maps.newDirectionFinder().setAvoid( Maps.DirectionFinder.Avoid.HIGHWAYS, );
參數
名稱 | 類型 | 說明 |
---|---|---|
avoid | String | Avoid 中的常數值 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
另請參閱
set Depart(time)
設定所需的出發時間 (如適用)。
// Creates a DirectionFinder with a departure time of 1 hour from now. const now = new Date(); const depart = new Date(now.getTime() + 1 * 60 * 60 * 1000); const directionFinder = Maps.newDirectionFinder().setDepart(depart);
參數
名稱 | 類型 | 說明 |
---|---|---|
time | Date | 出發時間 |
回攻員
Direction
:DirectionFinder 物件,可協助鏈結呼叫。
另請參閱
set Destination(latitude, longitude)
使用點 (緯度/經度) 設定要計算路線的終點位置。
// Creates a DirectionFinder with the destination set to Central Park. const directionFinder = Maps.newDirectionFinder().setDestination( 40.777052, -73.975464, );
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 終點位置的緯度 |
longitude | Number | 結束地點的經度 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
set Destination(address)
使用地址設定要計算路線的終點位置。
// Creates a DirectionFinder with the destination set to Central Park. const directionFinder = Maps.newDirectionFinder().setDestination( 'Central Park, New York, NY', );
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 結束位址 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
set Language(language)
設定路線指示的語言。
// Creates a DirectionFinder with the language set to French. const directionFinder = Maps.newDirectionFinder().setLanguage('fr');
參數
名稱 | 類型 | 說明 |
---|---|---|
language | String | BCP-47 語言 ID |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
另請參閱
set Mode(mode)
設定交通方式 (預設為駕車)。
// Creates a DirectionFinder with the mode set to walking. const directionFinder = Maps.newDirectionFinder().setMode( Maps.DirectionFinder.Mode.WALKING, );
參數
名稱 | 類型 | 說明 |
---|---|---|
mode | String | Mode 中的常數值 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
另請參閱
set Optimize Waypoints(optimizeOrder)
設定是否要透過更有效率的順序調整路線控點,以便最佳化提供的路線 (預設為 false)。
// Creates a DirectionFinder with wapoint optimization enabled. const directionFinder = Maps.newDirectionFinder().setOptimizeWaypoints(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
optimize | Boolean | 為 true 時會最佳化訂單,否則為 false |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
另請參閱
set Origin(latitude, longitude)
使用點 (緯度/經度) 設定起始位置,以便計算路線。
// Creates a DirectionFinder with the origin set to Times Square. const directionFinder = Maps.newDirectionFinder().setOrigin( 40.759011, -73.984472, );
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 出發地點的緯度 |
longitude | Number | 出發地點的經度 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件
set Origin(address)
使用地址設定起點,以便計算路線。
// Creates a DirectionFinder with the origin set to Times Square. const directionFinder = Maps.newDirectionFinder().setOrigin( 'Times Square, New York, NY', );
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 起始地址 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 例項
set Region(region)
設定解讀地點名稱時要使用的區域。支援的區域代碼對應至 Google 地圖支援的 ccTLD。舉例來說,區域代碼「uk」對應「maps.google.co.uk」。
// Creates a DirectionFinder with the region set to France. const directionFinder = Maps.newDirectionFinder().setRegion('fr');
參數
名稱 | 類型 | 說明 |
---|---|---|
region | String | 要使用的區域代碼 |
回攻員
Direction
:方便鏈結呼叫的 DirectionFinder 物件