hola que tal, estoy trabajando con perfiles de elevación en Google maps, pero me sale un error que creo que es simple, de tan simple que es no logro solucionarlo.
Tengo una función que me obtiene una gráfica de puntos de elevación en base a una linea que trazo en el mapa, necesito acceder a la distancia de esa misma linea y para eso me apoyo de esa misma funcion.

el detalle es que intento imprimir el valor de mi variable final con un alert después que termina el primero ciclo for , si imprimo el alert dentro del ciclo si hay iteracion, pero cuando lo imprimo fuera simplemente no hay resultado y el proceso de toda la función ya no se lleva a cabo ahi corta. alguna idea de porque me pasa eso?

Código :


if (status == google.maps.ElevationStatus.OK) {
            elevations = resultsz;
            console.log(resultsz);
            var elevationPath = [];
            
            for (var i = 0; i < resultsz.length; i++) {
              elevationPath.push(elevations[i].location);   
              dis_lat11 = elevations[i].location.lat() - elevations[i+1].location.lat();
                  dis_lng1 = elevations[i].location.lng() - elevations[i+1].location.lng();
                       distancee = Math.pow(Math.pow(dis_lat11, 2) + Math.pow(dis_lng1, 2), 0.5) * 111;
 
             distancee = Math.ceil(distance * 1000) / 1000;
             sum_distancee += distancee;
             alert('distancee' + sum_distancee); // este alert si funciona
             arraydistances.push(distancee);
            }
            alert('distancee' +sum_distancee);  // este alert nunca se muestra
     //aparte que no aparece el alerto toda la función se rompe y no se completa dsp. de este procedimiento.                                                       
                                      
               altura1 = document.getElementById('result3').value;
               dist2 = document.getElementById('lineLength').value;
               pend = document.getElementById("text4").value;
               dist1 = document.getElementById('lineLength1').value;
                                                    
               var data = new google.visualization.DataTable();
               data.addColumn('string', 'Sample');//X
               data.addColumn('number', 'Elevacion');
                           
               for (var k = 0; k < resultsz.length; k++) {
                 data.addRow(['' , elevations[k].elevation]);
                 } 
      
            var chartOpts={   
               width: 800,
               height: 200,
               titleY: 'Perfil de Elevacion (m)',
               title: 'Pendiente :' + " " + pend,
               titleTextStyle: {color: '#FF0000'},
               titleX: 'Distancia',
               lineWidth: 1,
               pointSize: 3,
                  
               
            };
            

            chart.draw(data, chartOpts);               
            google.visualization.events.addListener(chart,'onmouseover', onmouseoverHandler);
            google.visualization.events.addListener(chart, 'onmouseover', charMouseOver);
            google.visualization.events.addListener(chart, 'onmouseout', charMouseOut);
                              
           }
    
      }