Super Speed Transportation System

I had an idea last night for a cool system for super speed. Basically there’s a map where if you press M it pulls up a overhead view of the entire game map. Then you can click on a point and using pathfinding and turning the walkspeed up, the player will go to that point selected extremely fast.

My problem is, I have no idea how to make the map. Because the map needs to be an overhead view of the game map, and it has to get the position on the map that your mouse clicked to pathfind to that location. I have no idea how to go about making that, so I was wondering if anyone could tell me how I would go about creating the map?

How to make the map: simply move the camera in the sky and make it look down

workspace.CurrentCamera.CFrame = CFrame(position,lookAt)

How to get the 3d position of the mouse:

local mouse = game.Players.LocalPlayer:GetMouse()
local pos = mouse.Hit.p

How would I make it so you can zoom in and move the camera around but still being in Ariel view?

To make the map. Go to the view tab, then find “View Selector” . After you open the View Selector, select “Top” on the cube. You can move your screen by using A S D W Q E. A and D to move left and right. Q and E to move Up and Down. S and W to zoom in and out.

I meant I wanted to do it while in game

Zoom, change the fov

Dragging (pseudo code)

Mouse down:
save the base position of the mouse and the camera
while mouseDown:
delta = mouse position - base position of the mouse
camera.Position = base camera position - Vector3.new(delta.X,0,delta.Y)
wait renderstep