A method of determining a parking route for a vehicle travelling on a road network within a geographic area, wherein at least some roads of the road network have at least one parking space associated therewith, the road network being represented by an electronic map comprising a plurality of segments representing the roads of the road network, each segment having one or more attributes associated therewith including a length attribute indicative of the length of the segment, and wherein at least the segments representing roads having at least one parking space have a probability attribute indicative of the probability of there being a vacant parking space on that segment, the method comprising: obtaining a destination location within the geographic area; determining a sub-network comprising a subset of segments of the electronic map that are representative of roads within a predetermined walking time or distance of the destination location, wherein the sub-network is determined by performing a backwards reachability search from the destination location to define a reachability area based on the predetermined walking time or distance of the destination location, wherein the determined sub-network includes only segments representing roads that can be traversed by a vehicle, but wherein the reachability search used for the determination of the sub-network takes into account segments that can be traversed by a pedestrian including both road and pedestrian segments; associating, at least for the segments of the sub-network representing roads having at least one associated parking space, data indicative of a walking time or distance from the segment to the destination location; exploring, using a search algorithm having an associated cost function, the segments of the sub-network from an origin location to identify a plurality of candidate parking routes, wherein each candidate parking route comprises a path of connected segments of the sub-network, said exploring comprising determining a cost for each of the plurality of candidate parking routes according to the cost function using the length attribute and probability attribute of each of segments of the parking route, wherein the cost for a given parking route is based on the probability of the vehicle successfully finding a vacant parking space among the parking spaces associated with the segments of the parking route and the expected cumulative travel and walking time or distance to the destination location should a parking space be found along the parking route, the cumulative travel and walking time or distance comprising a sum of the travel time or distance to the vacant parking space, and the walking time or distance from the vacant parking space to the destination location; and selecting one or more of the candidate parking routes for output based on the determined costs obtaining a destination location within the geographic area; determining a sub-network comprising a subset of segments of the electronic map that are representative of roads within a predetermined walking time or distance of the destination location, wherein the sub-network is determined by performing a backwards reachability search from the destination location to define a reachability area based on the predetermined walking time or distance of the destination location, wherein the determined sub-network includes only segments representing roads that can be traversed by a vehicle, but wherein the reachability search used for the determination of the sub-network takes into account segments that can be traversed by a pedestrian including both road and pedestrian segments; associating, at least for the segments of the sub-network representing roads having at least one associated parking space, data indicative of a walking time or distance from the segment to the destination location; exploring, using a search algorithm having an associated cost function, the segments of the sub-network from an origin location to identify a plurality of candidate parking routes, wherein each candidate parking route comprises a path of connected segments of the sub-network, said exploring comprising determining a cost for each of the plurality of candidate parking routes according to the cost function using the length attribute and probability attribute of each of segments of the parking route, wherein the cost for a given parking route is based on the probability of the vehicle successfully finding a vacant parking space among the parking spaces associated with the segments of the parking route and the expected cumulative travel and walking time or distance to the destination location should a parking space be found along the parking route, the cumulative travel and walking time or distance comprising a sum of the travel time or distance to the vacant parking space, and the walking time or distance from the vacant parking space to the destination location; and selecting one or more of the candidate parking routes for output based on the determined costs