Class DirectionFinder

DirectionFinder

Permite a recuperação de rotas entre locais.
O exemplo abaixo mostra como você pode usar essa classe para obter rotas da Times Square até Central Park, com uma parada no Lincoln Center, desenhe os locais e o caminho em um mapa e envie o mapa em um e-mail.

// 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')
    }
  }
);

Consulte também

Métodos

MétodoTipo de retornoBreve descrição
addWaypoint(latitude, longitude)DirectionFinderAdiciona um waypoint pelo qual o trajeto precisa passar, usando um ponto (lat/lng).
addWaypoint(address)DirectionFinderAdiciona um waypoint pelo qual o trajeto precisa passar usando um endereço.
clearWaypoints()DirectionFinderLimpa o conjunto atual de waypoints.
getDirections()ObjectExtrai as rotas usando a origem, o destino e outras opções que foram definidas.
setAlternatives(useAlternatives)DirectionFinderDefine se trajetos alternativos devem ser retornados ou não, em vez de apenas os com a melhor classificação rota (o padrão é falso).
setArrive(time)DirectionFinderDefine o horário de chegada desejado (quando aplicável).
setAvoid(avoid)DirectionFinderDefine se deve evitar certos tipos de restrições.
setDepart(time)DirectionFinderDefine o horário de partida desejado (quando aplicável).
setDestination(latitude, longitude)DirectionFinderDefine o local final para o qual calcular as rotas, usando um ponto (lat/lng).
setDestination(address)DirectionFinderDefine o local final para o qual calcular as rotas, usando um endereço.
setLanguage(language)DirectionFinderDefine o idioma a ser usado nas rotas.
setMode(mode)DirectionFinderDefine o modo de transporte (o padrão é carro).
setOptimizeWaypoints(optimizeOrder)DirectionFinderDefine se o trajeto fornecido deve ou não ser otimizado reorganizando os waypoints em uma ordem eficiente (o padrão é "false").
setOrigin(latitude, longitude)DirectionFinderDefine o local de partida a partir do qual calcular a rota, usando um ponto (lat/lng).
setOrigin(address)DirectionFinderDefine o local de partida a partir do qual calcular a rota, usando um endereço.
setRegion(region)DirectionFinderDefine uma região a ser usada ao interpretar nomes de locais.

Documentação detalhada

addWaypoint(latitude, longitude)

Adiciona um waypoint pelo qual o trajeto precisa passar, usando um ponto (lat/lng).

// Creates a DirectionFinder with a wapoint at Lincoln Center.
var directionFinder = Maps.newDirectionFinder().addWaypoint(40.772628, -73.984243);

Parâmetros

NomeTipoDescrição
latitudeNumberLatitude do ponto de referência.
longitudeNumberLongitude do waypoint.

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas.


addWaypoint(address)

Adiciona um waypoint pelo qual o trajeto precisa passar usando um endereço.

// Creates a DirectionFinder with a wapoint at Lincoln Center.
var directionFinder = Maps.newDirectionFinder().addWaypoint('Lincoln Center, New York, NY');

Parâmetros

NomeTipoDescrição
addressStringUm endereço.

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.


clearWaypoints()

Limpa o conjunto atual de waypoints.

var directionFinder = Maps.newDirectionFinder()
// ...
// Do something interesting here ...
// ...
// Remove all waypoints added with addWaypoint().
directionFinder.clearWaypoints();

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas


getDirections()

Extrai as rotas usando a origem, o destino e outras opções que foram definidas.

// 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);

Retornar

Object: um objeto JSON que contém o conjunto de trajetos das rotas, conforme descrito aqui

Consulte também


setAlternatives(useAlternatives)

Define se trajetos alternativos devem ser retornados ou não, em vez de apenas os com a melhor classificação rota (o padrão é falso). Se verdadeira, a matriz routes do objeto resultante pode contêm várias entradas.

// Creates a DirectionFinder with alernative routes enabled.
var directionFinder = Maps.newDirectionFinder().setAlternatives(true);

Parâmetros

NomeTipoDescrição
useAlternativesBooleanverdadeiro para retornar trajetos alternativos, caso contrário será falso

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas


setArrive(time)

Define o horário de chegada desejado (quando aplicável).

// 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);

Parâmetros

NomeTipoDescrição
timeDateo horário de chegada

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.

Consulte também


setAvoid(avoid)

Define se deve evitar certos tipos de restrições.

// Creates a DirectionFinder that avoid highways.
var directionFinder = Maps.newDirectionFinder().setAvoid(Maps.DirectionFinder.Avoid.HIGHWAYS);

Parâmetros

NomeTipoDescrição
avoidStringum valor constante de Avoid

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.

Consulte também


setDepart(time)

Define o horário de partida desejado (quando aplicável).

// 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);

Parâmetros

NomeTipoDescrição
timeDateo horário de partida

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.

Consulte também


setDestination(latitude, longitude)

Define o local final para o qual calcular as rotas, usando um ponto (lat/lng).

// Creates a DirectionFinder with the destination set to Central Park.
var directionFinder = Maps.newDirectionFinder().setDestination(40.777052, -73.975464);

Parâmetros

NomeTipoDescrição
latitudeNumbera latitude do local de destino
longitudeNumbera longitude da localização final

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.


setDestination(address)

Define o local final para o qual calcular as rotas, usando um endereço.

// Creates a DirectionFinder with the destination set to Central Park.
var directionFinder = Maps.newDirectionFinder().setDestination('Central Park, New York, NY');

Parâmetros

NomeTipoDescrição
addressStringo endereço final

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas


setLanguage(language)

Define o idioma a ser usado nas rotas.

// Creates a DirectionFinder with the language set to French.
var directionFinder = Maps.newDirectionFinder().setLanguage('fr');

Parâmetros

NomeTipoDescrição
languageStringum identificador de idioma BCP-47

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas

Consulte também


setMode(mode)

Define o modo de transporte (o padrão é carro).

// Creates a DirectionFinder with the mode set to walking.
var directionFinder = Maps.newDirectionFinder().setMode(Maps.DirectionFinder.Mode.WALKING);

Parâmetros

NomeTipoDescrição
modeStringum valor constante de Mode

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.

Consulte também


setOptimizeWaypoints(optimizeOrder)

Define se o trajeto fornecido deve ou não ser otimizado reorganizando os waypoints em uma ordem eficiente (o padrão é falso).

// Creates a DirectionFinder with wapoint optimization enabled.
var directionFinder = Maps.newDirectionFinder().setOptimizeWaypoints(true);

Parâmetros

NomeTipoDescrição
optimizeOrderBooleanverdadeiro para otimizar a ordem, ou falso caso contrário

Retornar

DirectionFinder: o objeto DirectionFinder para facilitar o encadeamento de chamadas.

Consulte também


setOrigin(latitude, longitude)

Define o local de partida a partir do qual calcular a rota, usando um ponto (lat/lng).

// Creates a DirectionFinder with the origin set to Times Square.
var directionFinder = Maps.newDirectionFinder().setOrigin(40.759011, -73.984472);

Parâmetros

NomeTipoDescrição
latitudeNumbera latitude do local inicial
longitudeNumbera longitude da localização inicial

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas


setOrigin(address)

Define o local de partida a partir do qual calcular a rota, usando um endereço.

// Creates a DirectionFinder with the origin set to Times Square.
var directionFinder = Maps.newDirectionFinder().setOrigin('Times Square, New York, NY');

Parâmetros

NomeTipoDescrição
addressStringo endereço de partida

Retornar

DirectionFinder: a instância do DirectionsFinder para facilitar o encadeamento de chamadas


setRegion(region)

Define uma região a ser usada ao interpretar nomes de locais. Os códigos regionais compatíveis correspondem a os ccTLDs compatíveis com o Google Maps. Por exemplo, o código regional "uk" corresponde a "maps.google.com.br".

// Creates a DirectionFinder with the region set to France.
var directionFinder = Maps.newDirectionFinder().setRegion('fr');

Parâmetros

NomeTipoDescrição
regionStringo código regional a ser usado

Retornar

DirectionFinder: o objeto DirectionsFinder para facilitar o encadeamento de chamadas

Consulte também