Prezados, como faço para pegar os steps da função service.routes do geolocation e passar para outra função? Ela é assincrona e não estou conseguindo passar essas informações para outra função.
traceRoute(service: any, display: any, request: any){
service.route(request, function (result, status) {
if (status == 'OK') {
let latTraceRoute;
let lngTraceRoute;
let latlngTraceRoute;
var arrayLatLng = [];
//alert(JSON.stringify(result.routes[0].legs[0].steps.length));
for (let index = 0; index < result.routes[0].legs[0].steps.length; index++) {
//console.log(result.routes[0].legs[0].steps[index].start_location);
//alert(result.routes[0].legs[0].steps[index].start_location);
latlngTraceRoute = JSON.stringify(result.routes[0].legs[0].steps[index].start_location).split(',',2);
latTraceRoute = latlngTraceRoute[0].split(':',2);
lngTraceRoute = latlngTraceRoute[1].split(':',2);
latTraceRoute = latTraceRoute[1];
lngTraceRoute = lngTraceRoute[1].replace('}','');
arrayLatLng[index] = [latTraceRoute,lngTraceRoute];
if (index == result.routes[0].legs[0].steps.length-1) {
**this.steps = arrayLatLng;**
}
}
display.setDirections(result);
}
});
A variavel this.steps que quero passar para outra função. Alguém poderia dar uma força?