rotating road gameobject towards mouse position

So i made this code here which lets me lengthen a plane with a road texture on it to any length i want (and still maintain proper texture tiling) based on distance between two mouse positions. What I’m trying to do now is to rotate my road (around its pivot basically which i set up to be on one end point of the road object) towards wherever the mouse position or mouse coordinates are I would like it to be similar to the way you place roads in simcity where you click on the ground and rotate the road in any direction you want. I just cant seem to figure out how to do it nothing i tried worked so far. Maybe someone can help me out. I hope i explained it clearly enough.

public class Roadplacement : MonoBehaviour 
	public GameObject Road;
	public GameObject RoadPrefab;
	private Vector3 mousePos1;
	private Vector3 mousePos2;
	private float RoadLength;
	private float RoadScale;

	// Use this for initialization
	void Start () 


	void OnGUI()


	// Update is called once per frame
	void Update () 

		Vector3 m = Input.mousePosition;
		m = new Vector3(m.x,m.y,transform.position.y);
		Vector3 p = Camera.main.ScreenToWorldPoint(m);
		Vector3 mousecoord = new Vector3(p.x,0,p.z);

		//Road.transform.eulerAngles = new Vector3(0,Road.transform.eulerAngles.y,0);

			mousePos1 = new Vector3(p.x,0,p.z);



			mousePos2 = new Vector3(p.x,0,p.z);
			Vector3 offset = (new Vector3(0,0,mousePos2.z)) - (new Vector3(0,0,mousePos1.z));
			RoadLength = offset.magnitude;
			RoadScale = RoadLength * 0.1f;

			if(offset.z > 0)
				Road.transform.localScale = new Vector3(Road.transform.localScale.x,Road.transform.localScale.y,RoadScale);

			if(offset.z < 0)
				Road.transform.localScale = new Vector3(Road.transform.localScale.x,Road.transform.localScale.y,-RoadScale);

			RoadPrefab.renderer.material.mainTextureScale = new Vector2(1,Road.transform.localScale.z *2);




It appears this is a top-down view and you are scaling the objects on the ‘z’ axis? If so, you can calculate the rotation like:

Road.transform.rotation = Quaternion.FromToRotation(Vector3.forward, mousePos2 - mousePos1);