Since the osmdroid canvas coordinate system is changing with every scroll, the x/y coordinates of
lat/long points is also always changing. Converting from lat/long to pixel values is a
potentially expensive operation and shouldn't be performed in the draw() cycle. Instead of
recalculating your
Path points every draw cycle, you can use an OsmPath and call
onDrawCycle(Projection) at the start of your draw call. This will simply shift the Path
the proper amount so that it is in the correct pixel position.