Offline map matching is a crucial step to facilitate many trajectory-based services in urban areas by finding vehicles’ travel paths from recorded and stored trajectory data. This paper proposes a novel turning point-based offline map matching algorithm, which introduces the concept of vehicle turning points to implement map matching piecewisely. The algorithm first separates the entire trajectory into multiple sub-trajectories using the identified turning points. It then selects the best-matched path for each sub-trajectory from the corresponding K-shortest paths. Extensive experiments are conducted to compare the performance of our algorithm with five state-of-the-art map matching algorithms in terms of four different criteria, including one correctly matched criterion, two incorrectly matched criteria, and one computation time-related criterion. Experimental results show that our algorithm has the best average matching accuracy and efficiency at different sampling intervals. Specifically, compared with the five benchmark algorithms, our algorithm can improve the correctly matched percentages by 1.43% to 34.66%, reduce the incorrectly matched percentages by 15.23% to 56.79%, and improve the matching speeds by 3.16–61.01 times.