1. A computing system for providing user preference based route calculation comprising: one or more processors; and one or more memories, the individual ones of the one or more memories coupled to individual ones of the one or more processors, the one or more memories having instructions stored therein which when executed by the one or more processors, perform a process comprising: obtaining criteria based digital map data, the criteria based digital map data including details associated with one or more potential user route criteria; storing the criteria based digital map data; a user initiating a map and/or directions search request, the user initiated map and/or directions search request including one or more user route criteria; in response to the user initiated map and/or directions search request, searching the criteria based digital map data for one or more proposed routes that match, or most closely match, at least part of the one or more user route criteria, the process being operable to consider individual user route criteria including a minimum speed limit and a maximum speed limit, to maximize a number of stop signs and minimize a number of stop lights, to minimize a number of stop signs and maximize a number of stop lights, to include or exclude areas susceptible to floods, minimizing the amount of energy used by an engine of the user, and speed limits most conducive to fuel efficiency, based on whether the user route criteria includes individual ones of those criteria; generating data representing one or more maps and/or sets of directions based on the one or more proposed routes that match, or most closely match, at least part of the one or more user route criteria; and providing the user with the data representing one or more maps and/or sets of directions, the provided data being based on the one or more proposed routes that match, or most closely match, at least part of the one or more user route criteria.