Dijkstra algorithm is a classic algorithm of computing the shortest path between two points. In past the amount of urban vehicles is small, so the shortest path is the optimal one. However, with the increasing of cars, traffic congestion is serious. The path calculated by using traditional Dijkstra is still the shortest path, but it is not necessarily the optimal. Therefore, in order to solve the optimal route choice problem the improved Dijkstra algorithm is put forward, which introduces traffic congestion weight function. Experiments show that the improved Dijkstra algorithm can better meet the needs of drivers on the optimal path.