route-matching algorithm