Algorithm Design and Implementation of Map Matching of City-wide Floating Car Data