Distance Matching Locomotion : Giving it a shot!

if you already have take off , jump apex and jump land locations you just need to map the distances from those to the ones in your animation, meaning:
when you take off, take your total jump distance (takeoff - apex) * by a value you save as variable between 0-1. this will be “max jump start distance”.
Map current actor distance from take off where in value min is 0 and max value is
'max jump start distance", out value min is first curve value in start and max is last curve value.
then you do automatic transition to apex anim.
you do same for apex , when you enter the apex state you save the current distance to apex and use it as max in value with same value but negative * float you change ( so distance going down doesn’t have to be exactly same as going up. then map distance of actor to apex location to curve min and max (multiply the distance by you z velocity sign to get positive value when going up and negative value when going down. then automatic transition to land.
when you enter land state you take current distance to land point use that as max land distance and map that to the curve in the animation just like others.