Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
Apps Script Google Direction API - ERROR de llegada_detención de retorno

Estoy tratando de devolver el nombre de la arrival_stop.name de llegada desde la API de direcciones de Google en una función de Apps Script. Aquí está mi código:

 const GOOGLEMAPS_STEPS_TRANSIT_DETAILS = (origin, destination, mode = 'transit') => { const { routes = [] } = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode) .getDirections(); if (!routes.length) { throw new Error('No route found!'); } var stepTransitDetails = routes .map(({ legs }) => { return legs.map(({ steps }) => { return steps.map((step) => { return step.transit_details.arrival_stop.name; }); }); }) .join(' , '); return stepTransitDetails; };

Error dado:

 TypeError: Cannot read property 'arrival_stop' of undefined (line 228).

El resultado deseado es una lista de paradas dentro del paso de tránsito; por ejemplo, si el paso toma el tren de la línea Piccadilly desde Leicester Square hasta Kings Cross, el resultado sería la lista de estaciones en las que se detendrá.

Tengo este mismo código funcionando cuando step.html_instructions en lugar de step.transit_details.arrival_stop.name y si .arrival_stop.name devuelve [object Object],,object Object], lo que significa que está reconociendo los pasos que involucran tránsito, pero agregar el .arrival_stop da un error.

Trabajo basado en Google API Docs

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando vi los datos de las routes , parece que hay objetos sin incluir la propiedad de transit_details en el step . Pensé que esta podría ser la razón de su problema. Si desea recuperar step.transit_details.arrival_stop.name , ¿qué tal la siguiente modificación?

De:

 var stepTransitDetails = routes .map(({ legs }) => { return legs.map(({ steps }) => { return steps.map((step) => { return step.transit_details.arrival_stop.name; }); }); }) .join(' , ');

A:

 var stepTransitDetails = routes .map(({ legs }) => { return legs.map(({ steps }) => { return steps.filter(({ transit_details }) => transit_details).map(({ transit_details }) => { return transit_details.arrival_stop.name; }); }); }) .join(' , ');
  • En esta modificación, el filter se usa para recuperar el objeto, incluidos los transit_details .

Referencia:

  • filtrar()
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda