Identifique cuándo finaliza MKRoutestep

Estoy intentando implementar un sistema de navigation por turnos en iOS usando la API de MKDirections. Puedo get las direcciones de la ruta y puedo dibujar la polilínea en el map, y cuando comienza la navigation, la aplicación comienza mostrando las instrucciones usando el object MKRouteStep en la matriz de pasos. Ahora el problema es que , dado que la distancia en el object MKRouteStep es la distancia que cubre el usuario al recorrer la ruta del paso, no puedo identificar cómo calcular esta distancia. ¿Hay alguna forma de calcular esta distancia ? Actualmente estoy calculando la distancia entre dos coorderadas, es decir, la coorderada cuando se mostró la última instrucción con la location actual del usuario y si esta distancia es igual a la distancia mencionada en MKRouteStep, estoy mostrando la siguiente instrucción, debido a lo cual está retrasando las instrucciones para ser entregado al usuario.

Si hay alguna forma de identificar la coorderada o región en la que termina este MKRouteStep, puedo calcular si el usuario se encuentra en esa región o no y luego mostrar la siguiente instrucción. Puede ser que esto puede funcionar, ¿cuáles son tus pensamientos, pero para esto, cómo sabré la coorderada o región en la que este MKRouteStep termina desde la matriz de polilíneas de MKRouteStep?

Sugiera si hay alguna otra buena solución para esto. Cualquier ayuda es muy apreciada.

Gracias.

Dado que nadie ha respondido a mi pregunta, yo mismo lo estoy respondiendo para que pueda ayudar a alguien que busque lo mismo.

Entonces, en lugar de usar el valor de distancia de MKRouteStep para calcular cuándo mostrar las instrucciones siguientes, podemos usar la última coorderada de matriz de polilíneas proporcionada por MKRouteStep. Por ejemplo:

MKMapPoint mapPointForEndOfRouteStep = routeStep.polyline [routeStep.polyline.pointCount – 1];

Ahora puede crear una región a su alnetworkingedor y comprobar si su location actual se encuentra en esta región o no.