private void createRoutes(boolean heuristic)
	{
		fromNode.setDistTo(0);
		if (heuristic)
		{
			fromNode.setHeuristic(Math.sqrt(Math.pow((toNode.getxCoord() - fromNode.getxCoord()), 2) + Math.pow(toNode.getyCoord() - fromNode.getyCoord(), 2)) / 1000);
		} else
		{
			fromNode.setHeuristic(Math.sqrt(Math.pow((toNode.getxCoord() - fromNode.getxCoord()), 2) + Math.pow(toNode.getyCoord() - fromNode.getyCoord(), 2)) / (130000));
		}
		edgeTo.put(fromNode, null);

		// relax vertices in order of distance from s
		pQueue.add(fromNode);
		while (!pQueue.isEmpty())
		{
			Node v = (Node) pQueue.poll();
			if (v.equals(toNode))
			{
				break;
			}

			if (heuristic)
			{
				for (Edge e : graph.get(v))
				{
					relaxDriveTime(e, v);
				}
			} else
			{
				for (Edge e : graph.get(v))
				{
					relaxLength(e, v);
				}
			}

		}
	}