允許擷取兩個地點之間的路線。
以下範例說明如何使用此類別,取得從時代廣場到
中央公園,先在林肯中心停靠、在地圖上標示地點和路徑,
透過電子郵件中的地圖
// Get the directions. var 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(); var route = directions.routes[0]; // Set up marker styles. var markerSize = Maps.StaticMap.MarkerSize.MID; var markerColor = Maps.StaticMap.Color.GREEN var markerLetterCode = 'A'.charCodeAt(); // Add markers to the map. var map = Maps.newStaticMap(); for (var i = 0; i < route.legs.length; i++) { var leg = route.legs[i]; if (i == 0) { // Add a marker for the start location of the first leg only. map.setMarkerStyle(markerSize, markerColor, String.fromCharCode(markerLetterCode)); map.addMarker(leg.start_location.lat, leg.start_location.lng); markerLetterCode++; } map.setMarkerStyle(markerSize, markerColor, 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. var 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') } } );
另請參閱
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
addWaypoint(latitude, longitude) | DirectionFinder | 使用點 (經緯度) 新增路線必須通過的路線點。 |
addWaypoint(address) | DirectionFinder | 使用地址新增路線必須通過的路線點。 |
clearWaypoints() | DirectionFinder | 清除目前的路線控點組合。 |
getDirections() | Object | 使用起點、目的地和其他選項來規劃路線。 |
setAlternatives(useAlternatives) | DirectionFinder | 設定是否要傳回替代路線,而非僅傳回最高排名 路由 (預設為 false)。 |
setArrive(time) | DirectionFinder | 設定所需的抵達時間 (如果適用)。 |
setAvoid(avoid) | DirectionFinder | 設定是否避免特定類型的限制。 |
setDepart(time) | DirectionFinder | 設定所需的出發時間 (如適用)。 |
setDestination(latitude, longitude) | DirectionFinder | 設定使用點 (經緯度) 計算路線的終點位置。 |
setDestination(address) | DirectionFinder | 設定使用地址計算路線的終點。 |
setLanguage(language) | DirectionFinder | 設定路線要使用的語言。 |
setMode(mode) | DirectionFinder | 設定交通方式 (預設為開車)。 |
setOptimizeWaypoints(optimizeOrder) | DirectionFinder | 設定是否要透過在更多 最有效率的順序 (預設為 false)。 |
setOrigin(latitude, longitude) | DirectionFinder | 設定使用點 (經緯度) 計算路線的起點。 |
setOrigin(address) | DirectionFinder | 設定使用地址計算路線的起點。 |
setRegion(region) | DirectionFinder | 設定用來解讀位置名稱的區域。 |
內容詳盡的說明文件
addWaypoint(latitude, longitude)
使用點 (經緯度) 新增路線必須通過的路線點。
// Creates a DirectionFinder with a wapoint at Lincoln Center. var directionFinder = Maps.newDirectionFinder().addWaypoint(40.772628, -73.984243);
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 路線控點的緯度。 |
longitude | Number | 路線控點的經度。 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件。
addWaypoint(address)
使用地址新增路線必須通過的路線點。
// Creates a DirectionFinder with a wapoint at Lincoln Center. var directionFinder = Maps.newDirectionFinder().addWaypoint('Lincoln Center, New York, NY');
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 地址。 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件。
clearWaypoints()
清除目前的路線控點組合。
var directionFinder = Maps.newDirectionFinder() // ... // Do something interesting here ... // ... // Remove all waypoints added with addWaypoint(). directionFinder.clearWaypoints();
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
getDirections()
使用起點、目的地和其他選項來規劃路線。
// Logs how long it would take to walk from Times Square to Central Park. var 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 物件,如此處所述
另請參閱
setAlternatives(useAlternatives)
設定是否要傳回替代路線,而非僅傳回最高排名
路由 (預設為 false)。如果為 true,則結果物件的 routes
陣列可能會
包含多個項目。
// Creates a DirectionFinder with alernative routes enabled. var directionFinder = Maps.newDirectionFinder().setAlternatives(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
useAlternatives | Boolean | 傳回替代路線為 true,否則傳回 false |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
setArrive(time)
設定所需的抵達時間 (如果適用)。
// Creates a DirectionFinder with an arrival time of 2 hours from now. var now = new Date(); var arrive = new Date(now.getTime() + (2 * 60 * 60 * 1000)); var directionFinder = Maps.newDirectionFinder().setArrive(arrive);
參數
名稱 | 類型 | 說明 |
---|---|---|
time | Date | 抵達時間 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
另請參閱
setAvoid(avoid)
設定是否避免特定類型的限制。
// Creates a DirectionFinder that avoid highways. var directionFinder = Maps.newDirectionFinder().setAvoid(Maps.DirectionFinder.Avoid.HIGHWAYS);
參數
名稱 | 類型 | 說明 |
---|---|---|
avoid | String | 來自 Avoid 的常數值 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
另請參閱
setDepart(time)
設定所需的出發時間 (如適用)。
// Creates a DirectionFinder with a departure time of 1 hour from now. var now = new Date(); var depart = new Date(now.getTime() + (1 * 60 * 60 * 1000)); var directionFinder = Maps.newDirectionFinder().setDepart(depart);
參數
名稱 | 類型 | 說明 |
---|---|---|
time | Date | 出發時間 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件。
另請參閱
setDestination(latitude, longitude)
設定使用點 (經緯度) 計算路線的終點位置。
// Creates a DirectionFinder with the destination set to Central Park. var directionFinder = Maps.newDirectionFinder().setDestination(40.777052, -73.975464);
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 終點的緯度 |
longitude | Number | 終點的經度 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
setDestination(address)
設定使用地址計算路線的終點。
// Creates a DirectionFinder with the destination set to Central Park. var directionFinder = Maps.newDirectionFinder().setDestination('Central Park, New York, NY');
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 結束地址 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
setLanguage(language)
設定路線要使用的語言。
// Creates a DirectionFinder with the language set to French. var directionFinder = Maps.newDirectionFinder().setLanguage('fr');
參數
名稱 | 類型 | 說明 |
---|---|---|
language | String | BCP-47 語言 ID |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
另請參閱
setMode(mode)
設定交通方式 (預設為開車)。
// Creates a DirectionFinder with the mode set to walking. var directionFinder = Maps.newDirectionFinder().setMode(Maps.DirectionFinder.Mode.WALKING);
參數
名稱 | 類型 | 說明 |
---|---|---|
mode | String | 來自 Mode 的常數值 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
另請參閱
setOptimizeWaypoints(optimizeOrder)
設定是否要透過在更多 最有效率的順序 (預設為 false)。
// Creates a DirectionFinder with wapoint optimization enabled. var directionFinder = Maps.newDirectionFinder().setOptimizeWaypoints(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
optimizeOrder | Boolean | 是 true 以最佳化訂單,否則傳回 false |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
另請參閱
setOrigin(latitude, longitude)
設定使用點 (經緯度) 計算路線的起點。
// Creates a DirectionFinder with the origin set to Times Square. var directionFinder = Maps.newDirectionFinder().setOrigin(40.759011, -73.984472);
參數
名稱 | 類型 | 說明 |
---|---|---|
latitude | Number | 起點的緯度 |
longitude | Number | 起點的經度 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件
setOrigin(address)
設定使用地址計算路線的起點。
// Creates a DirectionFinder with the origin set to Times Square. var directionFinder = Maps.newDirectionFinder().setOrigin('Times Square, New York, NY');
參數
名稱 | 類型 | 說明 |
---|---|---|
address | String | 起始地址 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 執行個體
setRegion(region)
設定用來解讀位置名稱的區域。支援的區碼 Google 地圖支援的 ccTLD。例如區域代碼「uk」對應於 「maps.google.co.uk」。
// Creates a DirectionFinder with the region set to France. var directionFinder = Maps.newDirectionFinder().setRegion('fr');
參數
名稱 | 類型 | 說明 |
---|---|---|
region | String | 要使用的區碼 |
回攻員
DirectionFinder
:促進呼叫鏈結的 DirectionFinder 物件