How would one create a map that shows where you are as you move and that you can zoom in and zoom out of and if possible its in a surfacegui

Just like the title explains I need to make a map which is basically like google maps so it shows the area I built and I can zoom in and zoom out and it also shows where I am as I move.

You can search up on YouTube “how to make a minimap” and you’ll find countless tutorials on it.