As you mentioned it's a feature of Co-op, so easiest way to approach this is to look up how Blizzard did it. All of Co-op maps are based on AlliedCommanders.SC2Mod. If you open that mod in editor, then go to triggers and navigate to UI Coop -> Mission - Minimap Ally Frustrum you'll find what you need. Snapshot: http://peeeq.de/gui.php?id=3872
Basically this feature is built on top of 2 triggers.
- Init trigger that creates Minimap Ping for each player using PingViewArea model (this is basically the frame of vision box you mention). Model is then scaled to match size of the map.
- Periodic trigger which is fired by event Players moves the camera. Each time it updates the position of Minimap Ping.
Players moves the camera event requires to provide id of the player, so you must create that trigger for each possible player.
Also, when player leaves the game you should remove his Minimap Ping (that's something Co-op mode doesn't do IIRC).