Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda