1. A computer-implemented method for providing tile data, the method comprising: collecting, using one or more processors, map data describing a map from a variety of resources; determining, using a current time local to a client device and a current compass heading of the client device, that a user of the client device is interested in a map that showing public transportation routes in a direction specified by the compass heading; separating, using the one or more processors, the map data into multiple sets of layer data describing multiple layers of the map, including generating a layer including public transportation systems in the direction specified by the compass heading; dividing, using the one or more processors, each set of layer data into multiple sets of element data describing individual elements in each layer of the map; dividing, using the one or more processors, each set of layer data into multiple sets of tile data, each set of tile data describing a tile of the each layer of the map, each tile including one or more segments of the individual elements; and providing, using the one or more processors, the tile data for display on the client device.