It should be mentioned in the statement that "the shortest route between two cities" means the path with minimal number of edges, not the path with minimal distance. Otherwise trivially the greatest number of roads (edges) would be $2017$.
An upper bound can be obtained by considering a shortest path $v_1 v_2\dots v_k$ between $v_1$ and $v_k$. Apparently no $v_i$ is connected with no other $v_j$'s except for adjacent $i,j$. Denote by $N(v_i)$ those neighbours of $v_i$ distinct from the others $v_j$'s. Then the sets $N(v_1),N(v_4),N(v_7),\dots$ and $\{v_1,v_2,\dots,v_k\}$ are disjoint (otherwise there would be a shorter path).
We have $|N(v_1)|=|N(v_k)|\ge 2, |N(v_j)|\ge 1, j=2,3,\dots, k-1$. This easily yields $k\le 1512$. Having in mind the above argument, one can construct a graph, satisfying requirements, and with a path $v_!,v_2,\dots, v_{1512}$ which is the shortest one between $v_1$ and $v_{1512}$. This path has $1511$ edges.