用于检索地点之间的路线。
以下示例展示了如何使用此类获取从时代广场到
首先在中央公园停车,然后在地图上标出位置和路径,然后发送
通过电子邮件发送地图。
// 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 | 使用点 (lat/lng) 添加路线必须经过的路标。 |
addWaypoint(address) | DirectionFinder | 使用地址添加路线必须通过的航点。 |
clearWaypoints() | DirectionFinder | 清除当前的航点集。 |
getDirections() | Object | 使用已设置的出发地、目的地和其他选项获取路线。 |
setAlternatives(useAlternatives) | DirectionFinder | 设置是否应返回备选路线,而不仅仅是返回排名最高的路线 路由(默认为 false)。 |
setArrive(time) | DirectionFinder | 设置所需的到达时间(如适用)。 |
setAvoid(avoid) | DirectionFinder | 设置是否避免某些类型的限制。 |
setDepart(time) | DirectionFinder | 设置所需的出发时间(如适用)。 |
setDestination(latitude, longitude) | DirectionFinder | 使用点 (lat/lng) 设置要计算路线的终点位置。 |
setDestination(address) | DirectionFinder | 使用地址设置要计算路线的结束地点。 |
setLanguage(language) | DirectionFinder | 设置路线要使用的语言。 |
setMode(mode) | DirectionFinder | 设置出行方式(默认为驾车)。 |
setOptimizeWaypoints(optimizeOrder) | DirectionFinder | 设置是否通过在 有效顺序(默认为 false)。 |
setOrigin(latitude, longitude) | DirectionFinder | 使用点 (lat/lng) 设置用于计算路线的起始位置。 |
setOrigin(address) | DirectionFinder | 使用地址设置计算路线时所用的起始地点。 |
setRegion(region) | DirectionFinder | 设置解读位置名称时使用的区域。 |
详细文档
addWaypoint(latitude, longitude)
使用点 (lat/lng) 添加路线必须经过的路标。
// 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)
使用点 (lat/lng) 设置要计算路线的终点位置。
// 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 语言标识符 |
返回
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)
使用点 (lat/lng) 设置用于计算路线的起始位置。
// 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 对象,用于方便调用链